代码之家  ›  专栏  ›  技术社区  ›  tktktk0711

python:用两个具有相同x标签的列表值绘制两个条形图[duplicate]

  •  -1
  • tktktk0711  · 技术社区  · 7 年前

    现在有两个列表值,如下所示:

    lst1 = [17, 24, 16, 3, 9, 10, 8, 7, 6]
    lst2 = [25, 30, 29, 6, 7, 10, 1, 2, 8]
    

    和x标签:

    lst_p =  ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9']
    

    我想用lst1和lst2绘制基于相同x标签的不同颜色的条。

    我尝试的代码:

    width = 0.5
    plt.hist((lst1, lst2),label = ("data1", "data2")) # A bar chart
    plt.legend()
    plt.xticks(lst_p)
    

    但有一个错误:

    AttributeError:“NoneType”对象没有属性“seq”

    1 回复  |  直到 7 年前
        1
  •  0
  •   gehbiszumeis Anja H    7 年前

    如合同所述 xticks() documentation 第一个参数是记号的位置。标签只是第二个参数。因此,您还必须将xtick位置传递给函数调用,它才能工作

    plt.xticks(plt.gca().get_xaxis().get_ticklocs(), lst_p)
    

    enter image description here

    推荐文章