How to show all categories in legend in pie chart with matplotlib python(如何使用matplotlib python在饼图中显示图例中的所有类别)
本文介绍了如何使用matplotlib python在饼图中显示图例中的所有类别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我正在尝试绘制曲线图,但在显示图例时遇到一些困难。下面是我的代码:
age = ['below 20', '20-30', '30-40', '40-50']
age_count = [23,0,35,0]
labels = age
sizes = age_count
fig1, ax1 = plt.subplots()
ax1.pie(sizes, autopct='%1.1f%%',
shadow=True, startangle=90)
ax1.legend(labels,bbox_to_anchor=(1, 0),loc='lower left')
我不想在饼图中显示计数为零的类别。我仍然希望显示图例中的所有类别名称(即20-30、40-50)。我尝试了上面的代码,但现在它正在工作。想知道哪里出了问题吗?
推荐答案
来自matplotlib.pyplot.ie文档:
自动无或字符串或可调用,默认:无
如果不是None,则是用于用它们的数值标记楔形的字符串或函数。标签将被放置在楔子内。如果它是格式字符串,则标签将为fmt%%。如果它是函数,则将调用它。&q;
您可以通过将函数传递给autopct来指定特定的bihavier,如下所示:
import matplotlib.pyplot as plt
age = ['below 20', '20-30', '30-40', '40-50']
age_count = [23,0,35,0]
def f(cpt):
if cpt == 0:
return ''
else:
return '%.2f' %cpt
fig1, ax1 = plt.subplots()
ax1.pie(age_count, autopct=f,
shadow=True, startangle=90)
ax1.legend(age,bbox_to_anchor=(1, 0),loc='lower left')
这篇关于如何使用matplotlib python在饼图中显示图例中的所有类别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何使用matplotlib python在饼图中显示图例中的所有类别
基础教程推荐
猜你喜欢
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
