删除具有零值的标签

2024-04-26 08:06:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从字典中创建一个饼图,并试图隐藏其中有零值的标签。我还尝试使用一个值列表[3002500425],但也不知道如何使用标签。下面的代码绘制了一个饼图,其中“油”仍然作为标签存在。我怎么能把它藏起来

import matplotlib.pyplot as plt

data = {'milk': 45, 'water': 25, 'oil': 0}
names = list(data.keys())
values = list(data.values())

plt.pie(values, labels=names)
plt.show()

Tags: 代码import列表data字典namesmatplotlibas
3条回答

为此,您可以使用Lambda过滤器

import matplotlib.pyplot as plt

data = {'milk': 45, 'water': 25, 'oil': 0}
data = dict(filter(lambda elem: elem[1]!= 0, data.items()))
names = list(data.keys())
values = list(data.values())

plt.pie(values, labels=names)
plt.show()

你考虑过过滤掉{{CD1>}值吗?

import matplotlib.pyplot as plt

data = {'milk': 45, 'water': 25, 'oil': 0}
names = [key for key,value in data.items() if value!=0]
values = [value for value in data.values() if value!=0]

plt.pie(values, labels=names)
plt.show()

试试这个:

import matplotlib.pyplot as plt

data = {'milk': 45, 'water': 25, 'oil': 0}
data_without_zero = {k:v for k,v in data.items() if v>0}
names = list(data_without_zero.keys())
values = list(data_without_zero.values())

plt.pie(values, labels=names)
plt.show()

相关问题 更多 >