在使用matplotlib进行颜色绘制的时候,如绘制图表、背景色或者对文字设置的时候都可以配置颜色,
以下说明主流的三种颜色使用方法
颜色名称
可以是直接使用颜色名称的字符串对color进行赋值,包括可以使用首字母缩写或者完整拼写的形式,以下为部分颜色的书写形式
缩写版
• ‘b’: 蓝色(blue)
• ‘g’: 绿色(green)
• ‘r’: 红色(red)
• ‘c’: 青色(cyan)
• ‘m’: 洋红色(magenta)
• ‘y’: 黄色(yellow)
• ‘k’: 黑色(black)
• ‘w’: 白色(white)
完整拼写
• ‘blue’: 蓝色
• ‘green’: 绿色
• ‘red’: 红色
• ‘cyan’: 青色
• ‘magenta’: 洋红色
• ‘yellow’: 黄色
• ‘black’: 黑色
• ‘white’: 白色
• ‘gray’: 灰色
• ‘lightgray’: 浅灰色
• ‘darkgray’: 深灰色
• ‘orange’: 橙色
• ‘purple’: 紫色
• ‘pink’: 粉色
• ‘brown’: 棕色
• ‘olive’: 橄榄色
• ‘navy’: 深蓝色
• ‘teal’: 墨绿色
• ‘gold’: 金色
• ‘silver’: 银色
• ‘violet’: 紫罗兰色
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)
plt.plot(x, y,color='r',label = 'sin')
plt.plot(x, y1,color='teal',label = 'cos')
plt.legend()
plt.savefig('plot1.png')
plt.show()
RGB十六进制字符串
使用十六进制字符串来表示颜色的时候,字符串一般由#开始,然后是6位16进制字符,从前往后每两位分别表示R(red),G(green),B(blue)的值,范围为[00,FF],转化为10进制也就是[0,255]
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)
plt.plot(x, y,color='#FF0099',label = 'sin')
plt.plot(x, y1,color='#0033FF',label = 'cos')
plt.legend()
plt.savefig('plot1.png')
plt.show()
RGB元组
说是RGB元组其实也可以为列表等array_like的容器,三个值分别代表了归一化后的R,G,B值,范围为[0,1]
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)
plt.plot(x, y,color=(0,0,1),label = 'sin')
plt.plot(x, y1,color=[0,1,0],label = 'cos')
plt.legend()
plt.savefig('plot1.png')
plt.show()
补充讲解随机颜色生成方法
随机颜色生成一般会用到RGB元组,然后随机初始化元组的值即可,这里采用np.random.random进行初始化,参数size设置为3即可
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)
plt.plot(x, y,color=np.random.random(size=3),label = 'sin')
plt.plot(x, y1,color=np.random.random(size=3),label = 'cos')
plt.legend()
plt.title('my title',color=np.random.random(size=3))
plt.savefig('plot1.png')
plt.show()