- 此问题在此处已有答案**:
Get default line colour cycle(4个答案)
三年前关闭了。
我希望达到的目标:
我想在一个图形上创建多个饼图。它们共享某些类别,但有时具有不同的类别。显然,我希望所有相同的类别具有相同的颜色。
这就是为什么我创建了一个字典,它将类别(=标签)与颜色联系起来。通过它,我可以指定饼图的颜色。但是我想使用ggplot颜色(它与matplotlib. style. style. use('ggplot ')一起提供)。我怎样才能将这些颜色输入我的字典呢?
# set colors for labels
color_dict = {}
for i in range(0, len(data_categories)):
color_dict[data_categories[i]] = ???
# apply colors
ind_label = 0
for pie_wedge in pie[0]:
leg = ax[ind].get_legend()
pie_wedge.set_facecolor(color_dict[labels_0[ind_label]])
leg.legendHandles[ind_label].set_color_(color_dict[labels_0[ind_label]])
ind_label += 1
1条答案
按热度按时间qjp7pelc1#
要访问
ggplot
样式中使用的颜色,可以执行以下操作在上例中,颜色作为RGB字符串包含在列表
colors
中。记住在访问颜色列表之前调用
plt.style.use(...)
,否则您将找到标准颜色。上面的答案是为Matplotlib的现代版本量身定制的,其中绘图颜色和可能的其他绘图属性,如线宽和破折号(参见this answer of mine)存储在
rcParams
字典中,关键字为'axes.prop_cycle'
,并包含在一种新的对象cycler
中(cycler
的另一种解释包含在我上面引用的答案中)。要获得颜色列表,我们必须从
rcParams
获得cycler
,然后使用它的.by_key()
方法得到一个值的字典,最后,我们使用关键字
'color'
来索引该字典。2023年1月1日更新。
use('a_style')
并不一定要访问它的颜色,颜色(可能)是在存储在字典matplotlib.style.library
中的matplotlib.RcParams
对象中定义的。例如,让我们打印在不同样式中定义的所有颜色序列
在我看来,
seaborn-xxx
样式将用作样式序列中的最后一步,例如plt.style.use(['seaborn', 'seaborn-poster'])
或plt.style.use(['seaborn', 'seaborn-muted', 'seaborn-poster'])
_
起始样式也意味着修改其它样式,并且fast
,不修改颜色是所有关于调整渲染参数,以具有 * 更快 * 的渲染。