【问题标题】:Python pie chart using matplotlib, rearrange labels使用matplotlib的Python饼图,重新排列标签
【发布时间】:2016-11-15 21:09:32
【问题描述】:

假设我有以下饼图:

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

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

像这样,例如:

【问题讨论】:

    标签: python matplotlib charts


    【解决方案1】:

    我想不出一种有效实现这一目标的方法。您最安全的选择是单独放置标签(想象在单个饼图中有更多片段)。试试这个作为替代方案:

    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()
    

    【讨论】:

    • 感谢您的回答。我以前有过,但在一个情节中,我实际上有许多不同的片段,因此颜色不再那么可区分了:/因此我想把标签放在馅饼外面。我什至尝试使用爆炸来移动一些片段(直到现在,我相信这是最好的方法)
    • @mutilis 您可以轻松地specify the colours in hex,为您提供多种组合。
    • 我有时会处理很多分数,因此我想使用渐变,但遗憾的是我的顾问更喜欢它,如上所示:) 如果我找不到合适的答案:(感谢您的帮助,非常感谢:)
    猜你喜欢
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多