2016-11-15 81 views
0

可以说我有以下饼图:Python的饼图,重新标签

import matplotlib.pyplot as plt 
sizes = [0.988799675982225, 0.009625725741571165, 0.0015745982762038959] 
labels = ["Aaaaaa", "Bbbbbbbbbb", "CcCcccCc"] 
plt.pie(sizes, labels = labels) 
plt.show() 

我们立即看到标签的重叠。是否可以创建从分数到标签的一条线,并且还可以在它们之间获得更多的距离?

这样,例如: selfmade labels

回答

0

我不能想办法来有效地实现这一目标。最安全的方法是分开放置标签(想象一下在单个饼图中有更多的片段)。试试这个作为替代:

import matplotlib.pyplot as plt 
sizes = [0.988799675982225, 0.009625725741571165, 0.0015745982762038959] 
labels = ["Aaaaaa", "Bbbbbbbbbb", "CcCcccCc"] 
patches, texts = plt.pie(sizes) 
plt.legend(patches, labels, loc="best") 
plt.axis('equal') 
plt.tight_layout() 
plt.show() 
+0

感谢您的回答。我之前有过,但在一个情节中,我实际上有许多不同的碎片,因此颜色不再可区分:/因此我想将标签放在派之外。我甚至试图用爆炸移动一些碎片(直到现在,我相信这是最好的方法) – mutilis

+1

@mutilis你可以很容易地[用十六进制指定颜色](http://matplotlib.org/api/colors_api.html),为您提供大量的组合。 –

+0

我有时与许多分数工作,因此我想使用渐变,但可悲的是我的顾问会更喜欢它,如上所示:)将不得不这样做,如果我没有找到合适的答案:(感谢帮助,非常感谢:) – mutilis