python绘图使用matplotlib色卡
python绘图一般使用两个库,matplotlib和seaborn
这两个库的色卡不同,使用起来经常迷惑,特此总结:
matplotlib具有以下经典色卡:
或者连续的色卡
Matplotlib更多的色卡可见:/stable/tutorials/colors/colormaps.html
import matplotlib.pyplot as pltfrom matplotlib import cm# 取颜色color = plt.get_cmap('Set2')color
import numpy as np# 在柱图中使用颜色plt.bar(range(5), np.random.rand(5), color=plt.get_cmap('Accent')(range(5)))
# 在饼图中使用颜色cmap = plt.colormaps["tab20c"]inner_colors = cmap([1, 2, 5, 6, 9, 10])size = 0.3vals = np.array([[60., 32.], [37., 40.], [29., 10.]])plt.pie(vals.flatten(), radius=1-size, colors=inner_colors, wedgeprops=dict(width=size, edgecolor='w'))plt.show()
seaborn在此基础上封装的更厉害,直接使用palette=colorname即可
# 在seaborn中使用matplotlib色卡import seaborn as snsimport pandas as pddata = pd.read_csv('D:/acad2/csv/data_ob.csv')plt.figure(figsize=(15, 10))sns.violinplot( x=data["class"], y=data["speed"], linewidth=1, palette='Pastel1')sns.set_theme(style="darkgrid", palette=None ,font='Times New Roman',font_scale=3)plt.show()
ne ,font=‘Times New Roman’,font_scale=3)
plt.show()