Matplotlib仅定义以下基本颜色:
•b: blue
•g: green
•r: red
•c: cyan
•m: magenta
•y: yellow
•k: black
•w: white
我想定义更多自定义颜色字母,例如
mc1 = RGB(164,106,228)
mc2 = RGB(220,170,114)
mc3 = RGB(249,85,132)
然后我可以定义
my_color_list = ['g','r','y','b','c','m','k', 'mc1','mc2','mc3']
然后my_color_list
可以用于下面的演示:
import matplotlib.pyplot as plt
dt = [1,2,3,4,5,6,7,8,9]
my_color_list = ['g','r','y','b','c','m','k', 'mc1','mc2','mc3'] # not valid
bar(range(len(dt)),dt,color=my_color_list)
plt.show()
那么如何在matplotlib中定义自定义颜色字母?或者,如果我有一个RGB元组列表,如何将RGB元组与基本颜色字母组合在一起并分配给'plot'/'bar'命令的'color'参数?
答案 0 :(得分:1)
matplotlib支持多种指定颜色的方法。除基本颜色外,您还可以使用CSS颜色十六进制代码,Web颜色名称和RGB值。
'#d2691e'
。'chocolate'
。(0.824, 0.412, 0.118)
。应将组件归一化为[0,1]。'0.7'
。每当需要颜色时,这些表格就像标准的单字母颜色名称一样使用。
答案 1 :(得分:1)
另一种可能性是使用
直接编辑matplotlib颜色列表import matplotlib
matplotlib.colors.ColorConverter.colors['mc1'] = (0.976,0.333,0.518)
但是,我会小心这个选项,因为它可以破坏一些有用的matplotlib语法。例如,调用颜色'mo'可能会混淆它,因为'o'可能意味着标记样式而'm'可能意味着洋红色。最好坚持使用当前未使用的单个字母,如a,e-j等。
答案 2 :(得分:1)
您还可以定义自己的颜色字典,如下面的MWE所示。
import matplotlib.pyplot as plt
col = {'azure':(0.2,0.4,0.6), 'grey':(0.69,0.69,0.69), 'hotpink':(0.68,0.14,0.37), 'babyblue':(0.87,0.94,0.94)}
ch = 'grey'
plt.plot([1,2,3,4],color=col[ch])
plt.show()