一、matplotlib颜色表
matplotlib是一个非常常用的绘图库,提供了多种可视化操作函数。其中,颜色表的选择是绘制图形时非常重要的一个因素。下面介绍一些matplotlib提供的颜色表。
1、按颜色分组的颜色表
import matplotlib.pyplot as plt
colors = ['blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black']
for i, color in enumerate(colors):
plt.plot(range(5), [i]*5, label=color)
plt.legend()
plt.show()
使用颜色名称,可绘制颜色样本。
2、预定义的颜色表
import matplotlib.pyplot as plt
names = ['Accent', 'Dark2', 'Paired', 'Pastel1', 'Set1', 'Set2', 'Set3', 'tab10', 'tab20', 'tab20b', 'tab20c']
for i, name in enumerate(names):
plt.subplot(3, 4, i+1)
plt.imshow(plt.cm.get_cmap(name)(range(10)).T[::-1])
plt.axis('off')
plt.title(name)
plt.show()
使用预定义的颜色表,可绘制出不同颜色映射方案的色彩/灰度值序列的示例
3、自定义颜色表
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(0, 10, size=10)
y = np.random.randint(0, 10, size=10)
points = np.array([x, y]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)
fig, ax = plt.subplots(figsize=(5, 5))
norm = plt.Normalize(0, 1)
lc = LineCollection(segments, cmap='viridis', norm=norm)
lc.set_array(np.array([0.5]*9))
line = ax.add_collection(lc)
fig.colorbar(line, ax=ax)
plt.show()
使用自定义颜色序列,可绘制出自定义的颜色映射方案的色彩/灰度值序列。
二、matplotlib线条颜色
在matplotlib中,可以使用多种方式设置线条的颜色:
1、RGB颜色值
import matplotlib.pyplot as plt
plt.plot(range(5), 'r') # 'r'表示红色线条
plt.show()
2、RGBA颜色值
import matplotlib.pyplot as plt
plt.plot(range(5), color='blue', alpha=0.5) # blue的RGBA值为(0,0,1,1), alpha值取[0,1]
plt.show()
3、HTML颜色代码
import matplotlib.pyplot as plt
plt.plot(range(5), '#00FF00') # 使用html颜色代码,表示绿色
plt.show()
三、matplotlib填充颜色
使用fill函数可以填充颜色
1、填充单色
import matplotlib.pyplot as plt
plt.fill_between(range(5), 0, range(5), color='skyblue', alpha=0.5)
plt.show()
2、填充多色
import matplotlib.pyplot as plt
x = range(5)
y = range(5)
fig, ax = plt.subplots()
ax.fill_between(x[:2], y[:2], color='blue', alpha=0.5)
ax.fill_between(x[1:3], y[1:3], color='green', alpha=0.5)
ax.fill_between(x[2:], y[2:], color='red', alpha=0.5)
plt.show()
四、matplotlib设置线条颜色
在matlplotlib中,可以使用set_color()函数来设置线条颜色。
1、设置单色线条颜色
import matplotlib.pyplot as plt
line, = plt.plot(range(5))
line.set_color('r')
plt.show()
2、设置多色线条颜色
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
line1, = ax.plot(range(5), label='Line 1')
line2, = ax.plot(range(1, 6), label='Line 2')
line3, = ax.plot(range(2, 7), label='Line 3')
plt.legend()
line1.set_color('red')
line2.set_color('green')
line3.set_color('blue')
plt.show()
五、matplotlib坐标轴颜色
可以使用spines来设置坐标轴颜色
1、自定义坐标轴颜色
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(5))
ax.spines['bottom'].set_color('chartreuse')
ax.spines['top'].set_color('chartreuse')
ax.spines['left'].set_color('chartreuse')
ax.spines['right'].set_color('chartreuse')
plt.show()
2、隐藏坐标轴
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(5))
ax.spines['bottom'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.show()
六、matplotlib好看的颜色
下面是一些matplotlib中比较好看的颜色可以作为参考:
1、蓝色系列
import matplotlib.pyplot as plt
plt.plot(range(5), color='dodgerblue')
plt.show()
2、红色系列
import matplotlib.pyplot as plt
plt.plot(range(5), color='tomato')
plt.show()
3、黄色系列
import matplotlib.pyplot as plt
plt.plot(range(5), color='gold')
plt.show()
七、matplotlib颜色设置
可以使用rcParams设置颜色的默认值。
1、设置线条颜色
import matplotlib.pyplot as plt
plt.rcParams['lines.color'] = 'r'
plt.plot(range(5))
plt.show()
2、设置坐标轴颜色
import matplotlib.pyplot as plt
plt.rcParams['axes.edgecolor'] = 'r'
plt.plot(range(5))
plt.show()
3、设置网格线颜色
import matplotlib.pyplot as plt
plt.rcParams['grid.color'] = 'r'
plt.plot(range(5))
plt.show()
八、python matplotlib颜色选取
下面介绍几种常用的颜色选取方式:
1、手动指定颜色
import matplotlib.pyplot as plt
colors = ['blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black']
for i, color in enumerate(colors):
plt.plot(range(5), [i]*5, label=color)
plt.legend()
plt.show()
2、取自定义颜色序列
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(0, 10, size=10)
y = np.random.randint(0, 10, size=10)
points = np.array([x, y]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)
fig, ax = plt.subplots(figsize=(5, 5))
norm = plt.Normalize(0, 1)
lc = LineCollection(segments, cmap='viridis', norm=norm)
lc.set_array(np.array([0.5]*9))
line = ax.add_collection(lc)
fig.colorbar(line, ax=ax)
plt.show()
3、使用colormap
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 1)
y = np.linspace(0, 1)
X, Y = np.meshgrid(x, y)
Z = X**2 - Y**2
fig, ax = plt.subplots()
im = ax.imshow(Z, cmap='viridis', extent=[0, 1, 0, 1])
fig.colorbar(im, ax=ax)
plt.show()
4、使用预定义颜色表
import matplotlib.pyplot as plt
names = ['Accent', 'Dark2', 'Paired', 'Pastel1', 'Set1', 'Set2', 'Set3', 'tab10', 'tab20', 'tab20b', 'tab20c']
for i, name in enumerate(names):
plt.subplot(3, 4, i+1)
plt.imshow(plt.cm.get_cmap(name)(range(10)).T[::-1])
plt.axis('off')
plt.title(name)
plt.show()
5、使用hex值
import matplotlib.pyplot as plt
plt.plot(range(5), '#FF00FF')
plt.show()
总结
这篇文章详细阐述了matplotlib中的颜色对照表相关知识,包含了matplotlib颜色表、matplotlib线条颜色、matplotlib填充颜色、matplotlib设置线条颜色、matplotlib坐标轴颜色、matplotlib 好看的颜色、matplotlib颜色设置和python matplotlib颜色选取等方面。以上是一些常用的颜色设置方式,希望对大家有所帮助。