gpt4 book ai didi

matplotlib - 如何向 matplotlib 饼图添加图例?

转载 作者:行者123 更新时间:2023-12-02 22:31:45 25 4
gpt4 key购买 nike

使用此示例 http://matplotlib.org/examples/pie_and_polar_charts/pie_demo_features.html 我怎样才能向这个饼图添加图例?我的问题是我一大片88.4%,第二大片10.6%,其他片0.7和0.3%。饼图周围的标签不会出现(最大切片除外),较小切片的百分比值也不会出现。所以我想我可以添加一个显示名称和值的图例。但我还不知道如何...

# -*- coding: UTF-8 -*-
import matplotlib.pyplot as plt
# The slices will be ordered and plotted counter-clockwise.
labels = 'Rayos X', 'RMN en solución', 'Microscopía electrónica', 'Otros'
sizes = [88.4, 10.6, 0.7, 0.3]
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
explode = (0.1, 0, 0, 0)
plt.pie(sizes, explode=explode, labels=labels, colors=colors, shadow=True, startangle=90)
plt.legend(title="técnica")
# Set aspect ratio to be equal so that pie is drawn as a circle.
plt.axis('equal')
plt.show()

最佳答案

我检查了你的代码,plt.legend()创造传奇,如您所愿;也许设置 loc="lower left" ,因此它不会与相关的饼图重叠。

对我来说,除了非标准字符之外,字符串都可以正确显示 - 这可能会导致它们根本不显示给您的问题。只有最大的切片和“Otros”不包含特殊字符。也许还可以尝试调整人物的大小,因为它们可能会被推出 Canvas 。请引用how to write accents with matplotlib然后使用正确的字符串重试。

未显示百分比,因为您没有将其设置为显示。请引用您发布的示例,因为您省略了 autopct='%1.1f%%'这将绘制百分比。在这种特殊情况下,我宁愿不绘制百分比,因为它们会像边框上的标签一样重叠,因为有些切片太小。也许将这些信息添加到图例中。

将它们放在一起(除了特殊字符 - 我在激活 TeX 时遇到了一些问题),尝试以下代码:

# -*- coding: UTF-8 -*-
import matplotlib.pyplot as plt
# The slices will be ordered and plotted counter-clockwise.
labels = [r'Rayos X (88.4 %)', r'RMN en solucion (10.6 %)',
r'Microscopia electronica (0.7 %)', r'Otros (0.3 %)']
sizes = [88.4, 10.6, 0.7, 0.3]
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
patches, texts = plt.pie(sizes, colors=colors, startangle=90)
plt.legend(patches, labels, loc="best")
# Set aspect ratio to be equal so that pie is drawn as a circle.
plt.axis('equal')
plt.tight_layout()
plt.show()

resulting pie chart

关于matplotlib - 如何向 matplotlib 饼图添加图例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19852215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com