2024-03-28 19:34:05 发布
网友
我的代码:
Dict = {'b':1 , 'n':1, '-':20, '\xa0':5} x = list(Dict.keys()) y = list(Dict.values()) fig = plt.figure(figsiz = (10,5)) plt.bar(x,y,width = 0.5, color = 'maroon')
错误:
unsupported operand type(s) for -: 'float' and 'str'
Matplotlib告诉您它不知道如何在X轴上绘制Dict.keys()。您需要使用X轴的数值绘制条形图,然后可以将Dict.keys()指定给条形图作为记号标签。您需要调整绘图比例和/或数据字典,以使数据正确显示。下面的代码显示了如何获取要打印的数据以及如何分配刻度标签(但不进行任何其他调整)
Dict.keys()
import matplotlib.pyplot as plt # Dict = {u'b':1 , u'n':1, u'-':20, u'\xa0':5} x = [1, 2, 3, 4] y = [1, 1, 20, 5] labels = [u'b', u'n', u'-', u'\xa0'] # Note that '\xa0' is a non-breaking space fig = plt.figure(figsize = (10,5)) plt.bar(x,y,width = 0.5, color = 'maroon') plt.xticks(x, labels) plt.show()
注意:根据您的Python版本,您不能保证字典键和值的传递顺序。我已经更新了这个答案,对数据进行了硬编码,以使原始问题的答案更加明显
Matplotlib告诉您它不知道如何在X轴上绘制
Dict.keys()
。您需要使用X轴的数值绘制条形图,然后可以将Dict.keys()
指定给条形图作为记号标签。您需要调整绘图比例和/或数据字典,以使数据正确显示。下面的代码显示了如何获取要打印的数据以及如何分配刻度标签(但不进行任何其他调整)注意:根据您的Python版本,您不能保证字典键和值的传递顺序。我已经更新了这个答案,对数据进行了硬编码,以使原始问题的答案更加明显
相关问题 更多 >
编程相关推荐