如何让matplotlib autopct成为标签名称的函数?
How to make matplotlib autopct a function of the label name?
我在Python中有一个简单的饼图:
values = [3, 5, 12, 8]
labels = ['a', 'b', 'c', 'd']
plt.pie(values, labels)
看起来像:
我也有一个值字典:
dictionary = {'a': 0.31, 'b': 0.11, 'c' : 0.07, 'd': 0.12}
我想用字典中相应的值来标记每个切片。我怎么做?我阅读了 this post,它演示了如何将额外的参数传递给 autopct
函数,但似乎每个切片的参数必须相同,而在这种情况下,每个切片的参数都不同。
我知道你要找的是用字典中定义为值的馅饼份额来标记每一块,对吗?
类似于:
dictionary = {'a': 0.31, 'b': 0.11, 'c' : 0.07, 'd': 0.12}
labels = dictionary.keys()
sizes = dictionary.values()
fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)
plt.show()
希望这对你有用。
我在Python中有一个简单的饼图:
values = [3, 5, 12, 8]
labels = ['a', 'b', 'c', 'd']
plt.pie(values, labels)
看起来像:
我也有一个值字典:
dictionary = {'a': 0.31, 'b': 0.11, 'c' : 0.07, 'd': 0.12}
我想用字典中相应的值来标记每个切片。我怎么做?我阅读了 this post,它演示了如何将额外的参数传递给 autopct
函数,但似乎每个切片的参数必须相同,而在这种情况下,每个切片的参数都不同。
我知道你要找的是用字典中定义为值的馅饼份额来标记每一块,对吗?
类似于:
dictionary = {'a': 0.31, 'b': 0.11, 'c' : 0.07, 'd': 0.12}
labels = dictionary.keys()
sizes = dictionary.values()
fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)
plt.show()
希望这对你有用。