【问题标题】:How to properly plot bar chart with matplotlib?如何使用 matplotlib 正确绘制条形图?
【发布时间】:2020-01-18 08:54:12
【问题描述】:

我有一个脚本,它可以获取我网站上的文章,以及来自 Google Analytics 的相关流量数据,例如页面浏览量、页面上的平均时间等,并将它们放入 pandas DataFrame。

我想将表现最好的 5 个页面绘制为条形图,但是条形图无法正确绘制。

脚本成功抓取 GA 数据并将其放入 DataFrame 中,因此我能够进行所有分析,但无法正确构建如图所示的条形图。

在本例中,我将页面名称替换为数字 1-5,页面浏览量数据如下所示:

['3881', '3707', '2269', '1950', '1812', '1734']

正如我们在图像中看到的那样,条形不能正确表示值。

import pandas as pd
import matplotlib.pyplot as plt

#[GA code is here but deleted for simplicity]

x = ["0", "1","2","3","4","5"]
y = ['3881', '3707', '2269', '1950', '1812', '1734']

plt.bar(x,y,label="Bars 1",color="black")

plt.xlabel("X")
plt.ylabel("Y")
plt.title("Bar")
plt.legend()
plt.show()

人们会期望一个条形图,其中值从 3881 开始下降到 1734,并且每个条形都正确绘制。相反,我们得到一个图表,其中第一个条形图为零并且它增加,与轴上的值相矛盾。

【问题讨论】:

    标签: python matplotlib bar-chart


    【解决方案1】:

    您正在将数据绘制为字符串。将y 更改为整数,我想你会得到你所期望的

    类似:

    plt.bar(x, [int(i) for i in y], label="Bars 1", color="black")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-01
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 2022-08-06
      • 2018-05-18
      • 1970-01-01
      • 2021-11-21
      相关资源
      最近更新 更多