【问题标题】:ValueError: Unrecognized character a in format stringValueError:格式字符串中无法识别的字符a
【发布时间】:2021-03-15 08:27:59
【问题描述】:

我有这个数据集,当我尝试调用它的值时会输出奇怪的错误。不确定我哪里出错了。 其中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


    【解决方案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" 视为iterbles。因为stringiterble,它会尝试设置刻度“d”、“a”、“t”、“e”。

    【讨论】:

      【解决方案2】:

      您应该改为传递变量:

      plt.plot(date,value,data1)
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 2020-12-10
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      相关资源
      最近更新 更多