plt.cm.get_cmap可以使用哪些名称?
在matplotlib中,plt.cm
是color map的缩写,它包含了很多已经定义好的色彩方案(color scheme),可以轻松地为图表着色。
其中,plt.cm.get_cmap()
是获取色彩方案的函数。但是,对于初学者来说,不知道该函数可以使用哪些名称。下面,我们来一一介绍:
阅读更多:Python 教程
1. 网格线色彩
首先,我们需要了解一下网格线色彩,即在绘制柱状图、折线图等时,每个数据点之间的间隔部分。常见的网格线色彩有:
1.1 白色网格线
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4, 5], [1, 2, 3, 4, 5])
plt.grid(True, color='white')
plt.show()
其中,plt.grid(True, color='white')
表示开启网格线,并将网格线的颜色设置为白色。这时,我们可以看到图表上的网格线间隔部分变为了白色。
1.2 灰色网格线
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4, 5], [1, 2, 3, 4, 5])
plt.grid(True, color='lightgray')
plt.show()
同样地,plt.grid(True, color='lightgray')
表示开启网格线,并将网格线的颜色设置为灰色。这时,我们可以看到图表上的网格线间隔部分变为了灰色。
2. 色彩方案名称
接下来,我们来看一下plt.cm.get_cmap()
所支持的色彩方案名称。以下是一些常见的色彩方案名称和它们的颜色显示效果:
2.1 Blues
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('Blues')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
在上面的代码中,我们使用了cmap = plt.cm.get_cmap('Blues')
来获取Blues色彩方案。接下来,我们使用plt.bar()
来绘制柱状图,并将颜色参数设置为color=cmap(0.5)
,表示将数据点染为Blues方案中0.5位置的颜色。
2.2 Reds
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('Reds')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同理,我们可以使用plt.cm.get_cmap()
获取Reds色彩方案,并将颜色参数设置为color=cmap(0.5)
。
2.3 Greens
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('Greens')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.4 Purples
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('Purples')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.5 Oranges
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('Oranges')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.6 YlOrBr
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('YlOrBr')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.7 YlGnBu
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('YlGnBu')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.8 winter
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('winter')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.9 autumn
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('autumn')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
2.10 summer
import matplotlib.pyplot as plt
cmap = plt.cm.get_cmap('summer')
plt.bar([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], color=cmap(0.5))
plt.show()
同上。
3. 自定义色彩方案
除了使用上述已经定义好的色彩方案外,我们还可以自定义色彩方案。下面是一个自定义色彩方案的示例代码:
import matplotlib.pyplot as plt
import matplotlib.colors as colors
my_colors = ['gray', 'red', 'green', 'blue']
cmap = colors.ListedColormap(my_colors)
plt.bar([1, 2, 3, 4], [1, 2, 3, 4], color=cmap(0.5))
plt.show()
在上面的代码中,我们首先定义了一个my_colors列表,其中包含了4种颜色。接着,使用cmap = colors.ListedColormap(my_colors)
来将其转化为自定义色彩方案。最后,可以使用plt.bar()
来绘制图表并指定颜色参数为color=cmap(0.5)
来应用自定义色彩方案。
结论
至此,我们已经介绍了plt.cm.get_cmap()
函数所支持的常见色彩方案名称,并给出了自定义色彩方案的示例代码。希望对大家有所帮助。