【问题标题】:Bar Chart on ggplot with Python使用 Python 绘制 ggplot 上的条形图
【发布时间】:2015-06-09 16:02:42
【问题描述】:

我尝试使用 ggplot 库在 Python 中创建图表。

我的数据是这样的格式:

id total
1  3
1  4
1  7
2  3
2  2
2  5

我想创建一个条形图,其中每个 id 都有自己的条形图。 y 将是特定 id 的总列的平均值,并且还会为每个条添加带有最小值和最大值的错误区域。

我是 ggplot 的新手。我使用过散点图​​和折线图,但没有使用条形图。

我发现可以用

创建条形图

gg = ggplot(mydata, aes(....)) + geom_bar()

但我不知道要在 aes 上添加什么。

【问题讨论】:

  • 好的,在 R ggplot 中有一个 stat_summary 。我在 Python 版本中没有看到这样的功能。我建议只修改数据并使用ggplot(mydaya, aes(x='factor(x)', y=y)) + geom_bar()。我不确定语法,附近没有 Python 版本。

标签: python ggplot2 python-ggplot


【解决方案1】:

根据原Rggplot2 docs(我加了一些粗体):

条形的高度通常代表以下两种情况之一: 每组中的案例计数,或数据列中的值 框架。默认情况下,geom_bar 使用 stat="bin"。这使得高度 每个条形等于每组中的病例数,它是 与将值映射到 y 美学不兼容。 如果你想要 条形的高度来表示数据中的值,使用 stat="identity" 并将值映射到 y 美学。

这也适用于惊人的 Python 端口:

ggplot(mydata, aes(x='id', y='total')) + geom_bar(stat='identity')

看起来像:

在这种情况下,x 刻度显然有点奇怪,但我将把它留给另一个问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 2018-11-18
    • 2022-11-23
    • 1970-01-01
    相关资源
    最近更新 更多