代码之家  ›  专栏  ›  技术社区  ›  blue-sky

在matplotlib x轴上设置字符串值

  •  0
  • blue-sky  · 技术社区  · 7 年前

    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    
    fig = plt.figure()
    plt.figure(figsize=(20,10))
    plt.xticks(fontsize=24)
    plt.yticks(fontsize=24)
    
    plt.plot( 'x', 'y', data=pd.DataFrame({'x': np.array(['a' , 'b' , 'c']) , 'y': np.array([1,2,3]) }), marker=None, color='blue')
    
    
    plt.show()
    

    返回此错误:

    ValueError: could not convert string to float: 'c'
    

    matplotlib似乎正在将轴值推断为字符串。如何改变这个?

    astype(str)
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Community Mohan Dere    5 年前

    我可以用计算机再现错误 python2 具有 matplotlib==1.5.3


    如果你用的是蟒蛇3

    matplotlib 要解决此问题,请执行以下操作:

    pip3 install matplotlib --upgrade
    

    如果你用的是蟒蛇2

    matplotlib数据库 matplotlib==2.1 :

    pip2 install matplotlib==2.1
    

    试试这个:

    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    
    plt.figure(figsize=(20,10))
    plt.yticks(fontsize=24)
    x = np.array(['a' , 'b' , 'c'])
    xn = range(len(x))
    plt.xticks(xn, x, fontsize=24)
    
    plt.plot(xn, 'y', data=pd.DataFrame({'y': np.array([1,2,3]) }), marker=None, color='blue')
    plt.show()