ValueError:格式字符串中无法识别字符 a

问题描述 投票:0回答:2

我有这个数据集,当我尝试调用它的值时,它会输出奇怪的错误。不确定我哪里出错了。 其中 data1 是字典,它输出以下错误:

~\anaconda3\lib\site-packages\matplotlib\axes\_base.py in _plot_args(self, tup, kwargs)
    310     def _plot_args(self, tup, kwargs):
    311         if len(tup) > 1 and isinstance(tup[-1], str):
--> 312             linestyle, marker, color = _process_plot_format(tup[-1])
    313             tup = tup[:-1]
    314         elif len(tup) == 3:

~\anaconda3\lib\site-packages\matplotlib\axes\_base.py in _process_plot_format(fmt)
    102             i += 2
    103         else:
--> 104             raise ValueError(
    105                 'Unrecognized character %c in format string' % c)
    106 

ValueError: Unrecognized character a in format string


我已经提取了字典和两个值集的类型。字典是一个字典,两者的值集都是列表。

但是,当我按照以下方式绘制它时,它起作用了:

plt.figure()
x= data1['date']
y = data1['value']
plt.plot(x,y)

可能出了什么问题?

python dictionary matplotlib plot valueerror
2个回答
1
投票
from matplotlib import pyplot as plt
    
d = { "name" : ["Joe", "Maria", "Anna", "Bob"], "gender" : ["Male", "Female", "Female", "Male"], "salary" :[10000,20000,24000,14000]}
 
plt.plot("name", "salary", data=d)
plt.show()

您必须传入参数对象,以便它能够理解您想要来自该对象的标签。在您的情况下,它将

"date", "value"
视为可迭代,因为
string
iterable
并且它尝试设置刻度“d”,“a”,“t”,“e”。


1
投票

您应该传递变量:

plt.plot(date,value,data1)
© www.soinside.com 2019 - 2024. All rights reserved.