1. Matplotlib可识别颜色的单个颜色
1.1 RGB或者RGBA元组:RGBA即:Red、Green、Blue、Alpha
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"] # 解决中文显示问题
mpl.rcParams['axes.unicode_minus'] = False # 解决负号无法显示问题
x = np.arange(0,4,1)
xlb = ["20-27岁",'28-32岁','33-37岁',"38-45岁"]
y = [44.0,42.9,36.5,28.1]
plt.bar(x,y,color=[(0.3,0.2,0.6,0.3),(0.8,0.5,0.9,0.3),(0.2,0.5,0.8,0.3),(0.5,0.7,0.1,0.3)])
plt.xticks(ticks=x,labels=xlb)
plt.show()
1.2 十六进制形式的RGB或者RGBA字符串
x = np.arange(0,4,1)
xlb = ["20-27岁",'28-32岁','33-37岁',"38-45岁"]
y = [44.0,42.9,36.5,28.1]
plt.bar(x,y,color='#8dd3c7')
1.3 0-1之间的浮点数字符串:灰度水平
plt.bar(x,y,color=['0.1','0.3','0.5','0.8'])
1.4 颜色字符串
简写 | 完整 |
---|---|
c | cyan |
b | blue |
m | magenta |
g | green |
r | red |
y | yellow |
k | black |
w | white |
plt.bar(x,y,color=['c','y','b','g'])
1.5 xkcd颜色
网站链接:https://xkcd.com/color/rgb/
plt.bar(x,y,color=['xkcd:aqua','xkcd:lilac','xkcd:peach','xkcd:chartreuse'])
1.6 Cn: 指定颜色的循环
共有10种颜色:[‘#1f77b4’, ‘#ff7f0e’, ‘#2ca02c’, ‘#d62728’, ‘#9467bd’, ‘#8c564b’, ‘#e377c2’, ‘#7f7f7f’, ‘#bcbd22’, ‘#17becf’]
x = np.arange(0,15,1)
y = np.random.randint(0,100,15)
cl=[]
for i in range(0,10):
cl.append('C'+str(i))
print(cl)
plt.bar(x,y,color=cl)
plt.xticks(ticks=x,labels=x)
plt.show()
1.7 Tableau 10种颜色中的一种
‘tab:blue’, ‘tab:orange’, ‘tab:green’, ‘tab:red’, ‘tab:purple’, ‘tab:brown’, ‘tab:pink’, ‘tab:gray’, ‘tab:olive’, ‘tab:cyan’
x = np.arange(0,4,1)
xlb = ["20-27岁",'28-32岁','33-37岁',"38-45岁"]
y = [44.0,42.9,36.5,28.1]
plt.bar(x,y,color=['tab:blue', 'tab:orange', 'tab:green', 'tab:red'])
plt.xticks(ticks=x,labels=xlb)
2. 从色带中选择单个颜色
2.1 连续色带(sequential)
gd=np.arange(0,6)
kd=[53.6,63.9,64.5,68.1,72.3,73.5]
# 连续色带:sequential
clmp = mpl.colormaps['Oranges']
cl=clmp(np.linspace(0,1,len(kd)))
plt.bar(gd,kd,color=cl,alpha=0.5)
plt.xticks(ticks=gd,
labels=["促进视力发育","生长发育问题","强健骨骼/促进骨骼发育",
"促进肠胃消化","免疫力问题","促进大脑发育"],fontsize=8)
plt.show()
2.2 离散色带(qualitative)
d271b31b7cc94b748af83baaa5418037.png)
# 离散色带:qualitative:有colors属性
clmp = mpl.colormaps['Accent'].colors
plt.bar(gd,kd,color=clmp,alpha=0.5)