Matplotlib绘制不正确的颜色

时间:2018-11-07 11:17:02

标签: macos matplotlib colors color-picker color-profile

传递给任何Pyplot绘图/补丁/填充的color参数的十六进制代码会导致呈现错误的颜色。

要复制:

from matplotlib import pyplot as plt
plt.fill_between([0,1],[1,1],[2,2], color='#CCCCCC')
plt.fill_between([0,1],[0,0],[1,1], color='#7818FE')
plt.show()

Matplotlib displays incorrect color

我希望会绘制“#7818FE”,但会出现“#601BFE”。同样,绘制“ #CCCCCC”将导致生成“ #BEBDBE”。

我不认为这仅仅是压缩伪像,因为我尝试将其保存为PNG,但颜色仍然(消失)。可能是色彩空间问题?

这个问题很重要,因为我们的团队必须按照设计人员指定的方式绘制图表,而且颜色是如此错误,以至于即使是红绿色的色盲团队成员也可以用红色阴影分辨出不正确的颜色之间的区别。 /绿色,视觉上……

这个问题非常明显,以至于我希望以前已经有人问过,但是我似乎找不到任何相关的问题。如果这是重复的,我表示歉意。

我还打开了一个问题on GitHub

1 个答案:

答案 0 :(得分:0)

在评论中感谢您尝试使用其他颜色选择器的提示!我当时在使用一个名为Sip的应用程序。

我尝试使用Chrome的颜色选择器,结果更加不正确:

Chrome eyedropper picks incorrect color on Mac

但是,Mac预先安装的数字色度仪为我提供了@ImportanceOfBeingErnest相同的值,#7819FE之后我专门选择了sRGB色彩空间:

Mac's native Digital Color Picker

要解决所有颜色选择器工具的问题,必须在系统偏好设置->显示器->颜色:

中将显示器的颜色配置文件从默认的HD 709-A切换为sRGB。

Changing color space on Mac

Mac之所以选择视频色彩空间作为默认颜色而不是网络标准sRGB的原因使我不知所措。 (我知道sRGB仍然很糟糕...)由于这是Mac问题,因此我认为问题已解决。感谢您的帮助!