用非数值轴绘制数据集

时间:2018-04-20 10:39:05

标签: julia gadfly

我有这样的数据集:

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

我想用水平堆积条形图绘制它,使得在Y轴上我有Alice和Bob,在X轴上有表中的数字(Alice的条形图有12个然后是15比例长度,同样适用于鲍勃)。

我首先尝试获取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:unshift!未定义

我也试过

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

得到了

  

显示Gadfly.Plot类型值的错误:

     

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

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

我有朱莉娅0.6.2。

1 个答案:

答案 0 :(得分:2)

你可以这样做

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

我有这样的事情:

enter image description here