使用ggplot2的R条件图

时间:2016-08-01 01:17:30

标签: r ggplot2

我有一个R命令如下。

library(ggplot2)
df <- read.csv(file="c:\\query.csv"))
ggplot(df) + )
  geom_point(aes(Time, Users)) +)
  geom_point(data=df[df$Users>30,], aes(Time, Users),)
             pch=21, fill=NA, size=4, colour="red", stroke=1) +)
  theme_bw())


上述命令中使用的CSV文件包含Time,Users,Sellers等列

Time Users  Sellers
7    1      2
7    2      4
17   3      6
19   4      8
34   5      10
35   6      12
47   7      14
63   7      18
64   7      20
80   7      22
93   12     24
94   13     26

我的问题如下:
1)我们如何绘制附加每个数据点的线?我已经更新了上面的命令,但是失败了。

ggplot(df) + geom_point(aes(Time, Users)) + geom_point(data=df[df$Users>30,], aes(Time, Users),pch=21, fill=NA, size=4, colour="red", stroke=1) +
  geom_line() + theme_bw()

2)如何在Time Vs Users图表中为卖家添加另一个图表? 我以下面的方式做到了这一点。但是,图表输出不是我预期的

ggplot(df) + 
  geom_point(aes(Time, Users)) +
  geom_point(data=df[df$Users>30,], aes(Time, Users),pch=21, fill=NA, size=4, colour="red", stroke=1) +  geom_point(aes(Time, Sellers)) +
  geom_point(data=df[df$Sellers>10,], aes(Time, Sellers), pch=21, fill=NA, size=4, colour="red", stroke=1) +
  theme_bw()

1 个答案:

答案 0 :(得分:2)

广告1.)将aes()部分放在gplot部分:

ggplot(df, aes(Time, Users)) + 
geom_point() + geom_point(data = df[df$Users > 30,], pch = 21, fill = NA, size = 4, colour = "red", stroke = 1) +
geom_line()+
theme_bw()

广告2.)您可以使用gridExtra包(请参阅:this questionthis one获取其他方法)。

p1 <- ggplot(df, aes(Time, Users)) + geom_point() + 
geom_point(data = df[df$Users > 10,], pch = 21, fill = NA, size = 4,colour = "red", stroke = 1)+
geom_line() +
theme_bw()

p2 <- ggplot(df, aes(Time, Sellers)) + geom_point() + 
geom_point(data = df[df$Sellers > 10,], pch = 21, fill = NA, size = 4, colour = "red", stroke = 1)+
geom_line()+
theme_bw()

require("gridExtra")
grid.arrange(p1, p1, ncol = 2)