matplotlib 绘图颜色自动选择
用plt绘图的时候,我们经常需要选择不同的颜色。然而我们熟悉的颜色大多是红、黑、绿这样朴实无华的颜色,有些场合不那么合适。
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.rcParams.update({'font.size': 10})
x=np.arange(0,10,0.1)
plt.plot(x,np.sin(x),'r-',label='刺眼红')
plt.plot(x,np.sin(x+1),'k-',label='低调黑')
plt.plot(x,np.sin(x+2),'g-',label='原谅绿')
plt.legend()
matplotlib有许多颜色,详见:https://finthon.com/matplotlib-color-list/
我们懒得一个个选择颜色的话可以获取matplotlib的颜色列表来自动选择,例如:
(psi是一个376*200001的数组)
import matplotlib.colors as mcolors
colors=list(mcolors.TABLEAU_COLORS.keys()) #颜色变化
# mcolors.TABLEAU_COLORS可以得到一个字典,可以选择TABLEAU_COLORS,CSS4_COLORS等颜色组
fig = plt.figure(figsize=(20,10))
step=20000
for i in range(int(NT/step/1.5)):
plt.plot(x,psi[:,(i+1)*step],color=mcolors.TABLEAU_COLORS[colors[i]],label=str(step*(i+1)*tau)[:3])
plt.legend()
plt.xlabel('X')
plt.ylabel('psi^2')
plt.show()
(代码里面的参数可以忽略,意会就行)
得到
颜色一下就丰富了。
鸡肋,不愧是我!