2

我有一个这样的数据集:

| Name  | 2017 | 2018 |
-----------------------
| Alice |  12  |  15  |
| Bob   |  11  |  10  |  

我想用水平堆积条形图绘制它,这样在 Y 轴上有 Alice 和 Bob,在 X 轴上有表格中的数字(Alice 的条形有 12 和 15 的比例长度,对于 Bob 来说也是如此)。

我首先尝试获取 2017 年的数据,所以我做到了

using DataFrames, Gadfly
df = readtable("a.csv")
plot(df, x="2017", Geom.bar)

a.csv在哪里

Name,2017,2018
Alice,12,15
Bob,11,10

但我得到了

显示类型 Gadfly.Plot 的值时出错:

错误:UndefVarError:取消移位!没有定义的

我也试过

plot(df, x="2017", y="Name", Geom.bar)

并得到

显示类型 Gadfly.Plot 的值时出错:

错误:MethodError:没有匹配零的方法(::Type{String})

这里的问题似乎在于 Y 轴上的数据是非数字的。

我有 Julia 0.6.2。

4

1 回答 1

2

你可以这样做

df_tr = stack(df, [:x2017,:x2018])
Gadfly.plot(df_tr, color = "variable", x="value", y="Name",
             Geom.bar(position=:stack, orientation= :horizontal))

我得到了这样的东西:

在此处输入图像描述

于 2018-04-21T10:23:03.703 回答