matplotlib设置线条颜色时用的rgb数值,为何和excel里的rgb不一样?

lz需要用某些特定的颜色,比如excel中的红色强调颜色2,其RGB数值显示的是(192,80,77)
图片描述

lz想在matplotlib里也用这种颜色,代码如下:

leftvarY.plot(color=(192,80,77), figsize=(12,8))
plt.show()

出现报错:

ValueError: Invalid RGBA argument: 192

查了一下 Matplotlib 2.1.1 documentation ,发现:

Matplotlib recognizes the following formats to specify a color:

 - an RGB or RGBA tuple of float values in [0, 1] (e.g., (0.1, 0.2, 0.5) or (0.1, 0.2, 0.5, 0.3))
 - a hex RGB or RGBA string (e.g., '#0F0F0F' or '#0F0F0F0F')

求教各位,为何官方文档里的RGB是小于1的数,而lz在excel中找到的rgb数字都是3位数...我该如何找到excel中某个颜色相应的,可用于matplotlib的rgb数值呢?

阅读 14.3k
1 个回答
新手上路,请多包涵

matplotlib的字符串形式和excel用的是同一种颜色设置方式,只不过字符串是用16进制写的。"#c0504d"就是(192,80,77)。

至于[0,1]的实数模式,是对于上一方式只能用整数而做的扩展。当然,对excel取色器进行优化(其实推荐楼主换个别的取色器,至少用画图哇)可以把参数设置为(192 / 256, 80 / 256, 77 / 256),这样会方便些。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题