更改matplotlib饼图中的线条属性

2024-09-30 14:16:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图使matplotlib饼图上的线条更浅一些。因为我有很多切片,所以线条太粗,如下所示:

enter image description here

我读到this example建议使用如下rcparam:

matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2

但是,尽管我可以更改文本颜色,但它不会更改饼图切片之间的线条宽度。我相信这是因为切片不是由线对象控制的,而是由楔形对象控制的。那么有没有办法设置楔形边框的样式和颜色呢?

非常感谢, 亚历克斯


Tags: 对象textmatplotlib颜色example切片this建议
2条回答

试试这个:

ax = plt.subplot(111) 
wedges, texts = ax.pie(np.abs(np.random.randn(5)))

for w in wedges:
    w.set_linewidth(2)
    w.set_edgecolor('cyan')

pie

此外,如果您只有一个axes对象,并且不能直接访问饼图的楔块,则可以从ax.patches检索楔块:

wedges = [patch for patch in ax.patches if isinstance(patch, matplotlib.patches.Wedge)]

我来晚了,但是我发现,对于饼图,我没有使用:

plt.rcParams['lines.linewidth'] = 2

您可以使用:

plt.rcParams['patch.linewidth'] = 0  

此外,要更改饼图线条颜色,请使用以下命令:

plt.rcParams['patch.edgecolor'] = 'white' 

而不是:

plt.rcParams['line.color'] = 'white'

相关问题 更多 >

    热门问题