带有TypeError的plt.bar错误:bar()缺少1个必需的位置参数:'height'

时间:2019-11-21 06:38:38

标签: python dataframe plot

我的数据看起来像

    print(core_df2)

                         dispatch_patch
    date                  
    2019-11-13 18:28:00              50
    2019-11-13 18:29:00             450
    2019-11-13 18:30:00             825
    2019-11-13 18:31:00            1450
    2019-11-13 18:32:00            1725
    ...                             ...
    2019-11-13 19:26:00            4850
    2019-11-13 19:27:00            4875
    2019-11-13 19:28:00            5175
    2019-11-13 19:29:00            4314
    2019-11-13 19:30:00               6

    [63 rows x 1 columns]

我正在尝试绘制条形图并遇到问题。

如果我这样绘制条形图

    core_df2.plot.bar() #I can see the plot

但我使用如下所示,它显示错误消息。

    37 plt.figure(figsize=(17,12))
    ---> 38 plt.bar(core_df2)
         39 

    TypeError: bar() missing 1 required positional argument: 'height'

还有,如果我使用

    plt.figure(figsize=(17,12))
    plt.plot(core_df2)

    #I can see the plot.

似乎plt.bar无法获得时间索引作为x轴值。

你知道我该怎么解决吗?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以传递 dataframe.index ,然后传递列名。

plt.bar(core_df2.index, core_df2['dispatch_patch'])

答案 1 :(得分:0)

@dy jang,根据您的评论,您可以使用以下代码将日期作为数据框列:

    core_df2.reset_index()

这将在您的数据框中创建一个带有标题“ index”的新列。然后,您可以将其用作:

    plt.bar(core_df2['index'],core_df2['dispatch_patch'])