[英]How can I plot a simple plot with seaborn from a python dictionary?
我有一本这样的字典:
my_dict = {'Southampton': '33.7%', 'Cherbourg': '55.36%', 'Queenstown': '38.96%'}
我怎样才能有一个简单的 plot 3 条显示字典中每个键的值?
我试过了:
sns.barplot(x=my_dict.keys(), y = int(my_dict.values()))
但我得到:
TypeError: int() 参数必须是一个字符串,一个类似字节的 object 或一个数字,而不是 'dict_values'
您的代码中有几个问题:
my_dict.values()
将所有值作为dict_values
object 返回。 int(my_dict.values()))
表示将所有值的集合转换为单个 integer,而不是将每个值转换为 integer。 前者自然没有任何意义。"float(12.34%"[:-1])
。my_dict.keys()
和my_dict.values()
不保证返回键值对中的键和值的顺序相同,例如,你得到的键可能是['Southampton', 'Cherbourg', 'Queenstown']
你得到的值可能是"55.36%", "33.7", "38.96%"
。解决了所有这些问题:
keys = list(my_dict.keys())
# get values in the same order as keys, and parse percentage values
vals = [float(my_dict[k][:-1]) for k in keys]
sns.barplot(x=keys, y=vals)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.