更正ggplot2中geom_line图层的参数

时间:2014-04-15 22:05:03

标签: r ggplot2 data-visualization

我有一个数据框:

1   Pos like    77
2   Neg like    58
3   Pos make    44
4   Neg make    34
5   Pos movi    154
6   Neg movi    145    
...
20  Neg will    45

我想使用ggplot2中的geom_text图层生成一个图。

我已使用此代码

q <- ggplot(my_data_set, aes(x=value, y=value, label=variable)) 
q <- q + geom_text()
q

产生了这个情节:

enter image description here

显然,这不是一个理想的情节。

我想生成一个类似的图,除了我想在x轴上有Positive类,在y轴上有Negative类。

更新:这是我试图模仿的一个例子:

enter image description here

我似乎无法弄清楚将参数提供给geom_line图层的正确方法。

在给定数据框的情况下,在X轴上绘制正参数值的正确方法是什么,在Y轴上绘制负参数的值是什么?

感谢您的关注。

2 个答案:

答案 0 :(得分:4)

my_data_set <- read.table(text = "
id variable value
Pos like    77
Neg like    58
Pos make    44
Neg make    34
Pos movi    154
Neg movi    145", header = T)

library(data.table)
my_data_set <- as.data.frame(data.table(my_data_set)[, list(
                      Y = value[id == "Neg"],
                      X = value[id == "Pos"]),
               by = variable])

library(ggplot2)
q <- ggplot(my_data_set, aes(x=X, y=Y, label=variable)) 
q <- q + geom_text()
q

enter image description here

答案 1 :(得分:1)

使用reshape2也可轻松完成此操作(结果与David Arenburg's answer相同):

df <- read.table(text = "id variable value
Pos like    77
Neg like    58
Pos make    44
Neg make    34
Pos movi    154
Neg movi    145", header = TRUE)

require(reshape2)
df2 <- dcast(df, variable ~ id, value.var="value")

library(ggplot2)
ggplot(df2, aes(x=Pos, y=Neg, label=variable)) + 
  geom_text()

导致: enter image description here