我有超过40个项目要在图表中展示。 我只有10种颜色可以在图表上重复显示。如何生成更多的颜色。
plt.pie(f,labels=labels,autopct='%1.1f%%', startangle=90,shadow=True)
我应该在"颜色=无限生成的颜色"处添加"颜色=颜色"吗?
我有超过40个项目要在图表中展示。 我只有10种颜色可以在图表上重复显示。如何生成更多的颜色。
plt.pie(f,labels=labels,autopct='%1.1f%%', startangle=90,shadow=True)
我应该在"颜色=无限生成的颜色"处添加"颜色=颜色"吗?
除此之外,您需要使用颜色
参数,还可以使用cm
中的一些颜色映射。
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
a=np.random.random(40)
cs=cm.Set1(np.arange(40)/40.)
f=plt.figure()
ax=f.add_subplot(111, aspect='equal')
p=plt.pie(a, colors=cs)
plt.show()
除了使用调色板,还可以考虑使用.set_color_cycle()
方法。参见这篇帖子:Matplotlib中绘制不同颜色
我希望这个回答能够对你有所帮助。查看Matplotlib支持的颜色链接。您可以从中随机选择40种颜色,并在饼图中使用。
mcolors.TABLEAU_COLORS
mcolors.BASE_COLORS
mcolors.CSS4_COLORS
示例
import random
import matplotlib.colors as mcolors
colors = random.choices(list(mcolors.CSS4_COLORS.values()),k = number_of_colors)