matplotlib颜色列表
在数据可视化中,颜色的选择是非常重要的,好的颜色选择可以使图表更加清晰易懂。在matplotlib中,提供了一些预定义的颜色列表供我们选择,本文将介绍matplotlib中常用的颜色列表及其使用方法。
1. 基本颜色列表
matplotlib中提供了一些基本的颜色列表,可以通过字符串来表示。例如,’b’代表蓝色,’g’代表绿色,’r’代表红色,’c’代表青色,’m’代表洋红,’y’代表黄色,’k’代表黑色,’w’代表白色。
示例代码:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], color='b') # 使用蓝色绘制折线图
plt.plot([2, 3, 4, 5], color='g') # 使用绿色绘制折线图
plt.plot([3, 4, 5, 6], color='r') # 使用红色绘制折线图
plt.plot([4, 5, 6, 7], color='c') # 使用青色绘制折线图
plt.plot([5, 6, 7, 8], color='m') # 使用洋红绘制折线图
plt.plot([6, 7, 8, 9], color='y') # 使用黄色绘制折线图
plt.plot([7, 8, 9, 10], color='k') # 使用黑色绘制折线图
plt.plot([8, 9, 10, 11], color='w') # 使用白色绘制折线图
plt.show()
Output:
2. CSS颜色名称
除了基本颜色列表外,matplotlib还支持使用CSS颜色名称来表示颜色。例如,’blue’代表蓝色,’green’代表绿色,’red’代表红色,’cyan’代表青色,’magenta’代表洋红,’yellow’代表黄色,’black’代表黑色,’white’代表白色。
示例代码:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], color='blue') # 使用蓝色绘制折线图
plt.plot([2, 3, 4, 5], color='green') # 使用绿色绘制折线图
plt.plot([3, 4, 5, 6], color='red') # 使用红色绘制折线图
plt.plot([4, 5, 6, 7], color='cyan') # 使用青色绘制折线图
plt.plot([5, 6, 7, 8], color='magenta') # 使用洋红绘制折线图
plt.plot([6, 7, 8, 9], color='yellow') # 使用黄色绘制折线图
plt.plot([7, 8, 9, 10], color='black') # 使用黑色绘制折线图
plt.plot([8, 9, 10, 11], color='white') # 使用白色绘制折线图
plt.show()
Output:
3. 十六进制颜色表示
在matplotlib中,还可以使用十六进制的RGB表示来表示颜色。例如,’#FF0000’代表红色,’#00FF00’代表绿色,’#0000FF’代表蓝色。
示例代码:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], color='#FF0000') # 使用红色绘制折线图
plt.plot([2, 3, 4, 5], color='#00FF00') # 使用绿色绘制折线图
plt.plot([3, 4, 5, 6], color='#0000FF') # 使用蓝色绘制折线图
plt.show()
Output:
4. RGB元组表示颜色
除了以上方法外,还可以使用RGB元组来表示颜色,RGB元组的取值范围为0-1。例如,(1, 0, 0)代表红色,(0, 1, 0)代表绿色,(0, 0, 1)代表蓝色。
示例代码:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], color=(1, 0, 0)) # 使用红色绘制折线图
plt.plot([2, 3, 4, 5], color=(0, 1, 0)) # 使用绿色绘制折线图
plt.plot([3, 4, 5, 6], color=(0, 0, 1)) # 使用蓝色绘制折线图
plt.show()
Output:
5. 颜色映射表
在某些情况下,我们需要根据数据的大小来选择不同的颜色,这时可以使用颜色映射表(colormap)来帮助我们选择颜色。matplotlib中提供了一些内置的颜色映射表,如’viridis’、’plasma’、’inferno’、’magma’等。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
colors = np.linspace(0, 1, 100) # 生成颜色值
plt.scatter(x, y, c=colors, cmap='viridis') # 根据颜色值和viridis颜色映射表绘制散点图
plt.show()
Output:
6. 设置默认颜色
在绘制多个图表时,可以使用set_prop_cycle
方法来设置默认的颜色循环。该方法可以接受一个颜色列表,每次绘制图表时都会按照列表中的颜色循环显示。
示例代码:
import matplotlib.pyplot as plt
plt.rcParams['axes.prop_cycle'] = plt.cycler(color=['b', 'g', 'r']) # 设置默认颜色循环为蓝绿红
plt.plot([1, 2, 3, 4]) # 第一条线为蓝色
plt.plot([2, 3, 4, 5]) # 第二条线为绿色
plt.plot([3, 4, 5, 6]) # 第三条线为红色
plt.show()
Output:
7. 自定义颜色循环
除了设置默认的颜色循环外,还可以自定义颜色循环。可以使用cycler
函数来创建自定义颜色循环,并将其应用于图表中。
示例代码:
import matplotlib.pyplot as plt
from cycler import cycler
custom_cycler = cycler(color=['#FF0000', '#00FF00', '#0000FF']) # 自定义颜色循环为红绿蓝
plt.gca().set_prop_cycle(custom_cycler) # 将自定义颜色循环应用于当前坐标轴
plt.plot([1, 2, 3, 4]) # 第一条线为红色
plt.plot([2, 3, 4, 5]) # 第二条线为绿色
plt.plot([3, 4, 5, 6]) # 第三条线为蓝色
plt.show()
Output:
8. 使用colormap设置柱状图颜色
在柱状图中,我们可以通过设置不同颜色来突出显示不同的柱子。这时可以使用colormap
来设置柱状图颜色,以便更好地表达数据。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
height = np.array([3, 5, 2, 7])
colors = np.array([0, 1, 2, 3]) # 定义颜色值
plt.bar(np.arange(len(height)), height, color=plt.cm.viridis(colors/3)) # 根据颜色值和viridis颜色映射表绘制柱状图
plt.show()
Output:
9. 使用set_color_cycle设置颜色循环
在旧版本的matplotlib中,可以使用set_color_cycle
方法来设置颜色循环。这个方法接受一个颜色列表,每次绘制图表时都会按照列表中的颜色循环显示。
示例代码:
import matplotlib.pyplot as plt
colors = ['#FF0000', '#00FF00', '#0000FF'] # 定义颜色列表
plt.gca().set_color_cycle(colors) # 设置颜色循环为红绿蓝
plt.plot([1, 2, 3, 4]) # 第一条线为红色
plt.plot([2, 3, 4, 5]) # 第二条线为绿色
plt.plot([3, 4, 5, 6]) # 第三条线为蓝色
plt.show()
10. 使用ListedColormap创建自定义颜色映射表
如果需要创建自定义的颜色映射表,可以使用ListedColormap
来实现。ListedColormap
可以根据给定的颜色列表创建一个颜色映射表。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
colors = ['red', 'green', 'blue', 'yellow']
cmap = ListedColormap(colors) # 创建自定义的颜色映射表
x = np.random.randn(100)
y = np.random.randn(100)
colors = np.random.randint(0, 4, 100) # 随机生成颜色值
plt.scatter(x, y, c=colors, cmap=cmap) # 根据颜色值和自定义颜色映射表绘制散点图
plt.show()
Output:
以上就是关于matplotlib中颜色列表的介绍,通过使用不同的颜色列表和颜色表,我们可以更好地呈现数据并制作出吸引人的可视化图表。