gpt4 book ai didi

python - matplotlib 饼图中缺少标签

转载 作者:行者123 更新时间:2023-11-30 21:58:09 25 4
gpt4 key购买 nike

我尝试在 Ubuntu 18.10 上使用 Python 3 Matplotlib v2.2.2-4build1 绘制饼图。一切似乎都很好,除了标签 - 它们丢失了。尝试根据官方文档( https://matplotlib.org/api/_as_gen/matplotlib.pyplot.pie.html )添加它,尝试使用网络上的示例( https://pythonspot.com/matplotlib-pie-chart/ ) - 结果相同,没有标签。

这是我的代码的简化版本:

import numpy as np
import matplotlib.pyplot as plt
import sys

headers = ['a', 'b', 'c', 'd', 'e']
values = [5, 4, 3, 2, 1]
sum = sum(values)
labels = []
for v in values:
labels.append('{:.1f}%'.format(100 * v / sum))
fig, ax = plt.subplots(figsize=(6, 3), subplot_kw=dict(aspect="equal"))
wedges, texts = ax.pie(values, labels=labels, textprops=dict(color="w"))
plt.show()

这是我所看到的 - 没有标签:

Pie chart with no labels

尝试使用元组而不是列表 - 同样的事情。

有人可以帮助我吗?

最佳答案

您可能希望将标签的颜色设置为白色背景上的非白色:)

同时使用 sum 作为变量名会覆盖该函数,因此您最好选择其他名称。

import numpy as np
import matplotlib.pyplot as plt
import sys

headers = ['a', 'b', 'c', 'd', 'e']
values = [5, 4, 3, 2, 1]
sumT = sum(values)
labels = []
for v in values:
labels.append('{:.1f}%'.format(100 * v / sumT))
fig, ax = plt.subplots(figsize=(6, 3), subplot_kw=dict(aspect="equal"))
wedges, texts = ax.pie(values, labels=labels, textprops=dict(color="k"))
plt.show()

或者如果您希望标签位于内部:

import numpy as np
import matplotlib.pyplot as plt
import sys

def func(pct, allvals):
absolute = int(pct/100.*sum(allvals))
return "{:.1f}%)".format(pct)

headers = ['a', 'b', 'c', 'd', 'e']
values = [5, 4, 3, 2, 1]
sumT = sum(values)
labels = []
for v in values:
labels.append('{:.1f}%'.format(100 * v / sumT))
fig, ax = plt.subplots(figsize=(6, 3), subplot_kw=dict(aspect="equal"))
wedges, texts = ax.pie(values, autopct=lambda pct: func(pct,
values), textprops=dict(color="w"))
plt.show()

关于python - matplotlib 饼图中缺少标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55019964/

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