更改matplotlib饼图中的线属性

Ale*_*x S 7 python matplotlib pie-chart

我试图让matplotlib饼图上的线条更轻松.因为我有这么多切片,所以线条太粗,如下所示:

在此输入图像描述

我读了这个例子,建议像这样使用rcparam:

matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2
Run Code Online (Sandbox Code Playgroud)

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

非常感谢,Alex

beh*_*uri 14

试试这个:

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')
Run Code Online (Sandbox Code Playgroud)

馅饼

此外,如果您只有一个axes对象并且无法直接访问饼的楔形,则可以从ax.patches以下位置检索楔形:

wedges = [patch for patch in ax.patches if isinstance(patch, matplotlib.patches.Wedge)]
Run Code Online (Sandbox Code Playgroud)


Man*_*l G 5

我迟到了这个派对,但刚刚发现,对于饼图,而不是使用:

plt.rcParams['lines.linewidth'] = 2
Run Code Online (Sandbox Code Playgroud)

您可以使用:

plt.rcParams['patch.linewidth'] = 0  
Run Code Online (Sandbox Code Playgroud)

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

plt.rcParams['patch.edgecolor'] = 'white' 
Run Code Online (Sandbox Code Playgroud)

代替:

plt.rcParams['line.color'] = 'white'
Run Code Online (Sandbox Code Playgroud)