python - 如何将 matplotlib 颜色条标准化为 0 到 1 之间的标量数组?
问题描述
我有一个使用 matplotlib 生成的颜色条的 .jpg 图像:
我想为刻度线性分配一个浮点数,使其范围从 0 到 1。也就是说,最左边的颜色(紫色)表示接近零的值,最右边的(红色)表示接近一的值。
我最初的想法是在 python 中使用 PIL 转换为灰度,然后规范化该数组。我使用的代码是:
from PIL import Image
bar = Image.open('colorbar.png')
bar_gs = bar.convert(mode='L')
gs_values = np.zeros(bar_gs.size[1])
for i in range(0, bar_gs.size[1]):
gs_values[i] = pix_gs[00,i]
这将创建颜色条的灰度版本,如下所示:
绘制单行给出:
急剧下降显然是刻度线。真正的问题是,这不是我希望的单调递增/递减函数。对于给定的 x 值,我需要有一个 y 轴值。因为第三个情节中有多个驼峰,事实并非如此。
所以看起来我实际上是通过转换为灰度来丢失信息。我的最终目标是能够为某些颜色分配 0 到 1 之间的值。有没有更好的方法来解决这个问题?
谢谢
解决方案
推荐阅读
- google-cloud-platform - 在项目级别数据集强制执行 acl
- javascript - 使用角度删除firebase auth中的用户
- javascript - 在香草javascript中将月份名称转换为多种语言的数字
- java - setimage alapha 在 android 5.1 中不起作用
- tkinter - 如何在 Multilistbox 中隐藏一列
- reactjs - 从另一个文件夹导入反应组件
- android - Retrofit2 API 请求永远不会返回。为什么?
- javascript - “npm run build”失败并出现 SyntaxError:Unexpected token
- css - 波浪下划线在铬中表现异常
- reactjs - 如何使用 React 从其子组件单击按钮时显示一组数组