matplotlib 如何替换饼图图例中的标签?

lfapxunr  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(132)

我有一个饼图,显示产品销售额占总收入的百分比。产品名称太大,所以它们在图表周围缩写,但在图例中名称应该是完整的。基本上我只需要替换图例中的标签。然而,当创建饼图时,我指定了一个标签列表,程序应该从那里获取它们,随后在图例中更改标签不会改变任何东西。data_names -全名data_names 2 -缩写名称plt.legend中的labels=data_names命令不起作用。

ax.pie(data_values, labels=data_names2, colors=colors, radius=5, center=(0, 0),
     wedgeprops={"linewidth": 0.4, "edgecolor": "white"}, frame=True, rotatelabels=True)
plt.legend( 
    loc='best', bbox_to_anchor=(1, 0.92),labels=data_names)
qgelzfjb

qgelzfjb1#

我发现这个链接可能会有帮助。
Legend Labels
以他们的例子为例,我创建了一个简单的饼图。

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

labels = ['Walking', 'Talking', 'Sleeping', 'Working']
abbrevs = ['Walk', 'Talk', 'Sleep', 'Work']  # Abbreviations for the legend
sizes = [23, 45, 12, 20]
colors = ['red', 'blue', 'green', 'yellow']

patches, texts = plt.pie(sizes, colors=colors, shadow=True, labels = labels, startangle=90)
plt.legend(patches, abbrevs, loc="best")
plt.axis('equal')

plt.show()

这就产生了带有自定义标签的图例的饼图。

相关问题