使用 ggplot2 有条件地围绕数据图循环

RKM*_*RKM 1 plot r ggplot2

我有几个关于使用绘图的问题ggplot2。我已经使用以下命令使用 R 为数据点着色。

library(ggplot2)
df <- read.csv(file="c:\\query2.csv")
ggplot( df,aes( x = Time,y ,y = users,colour = users>40) ) +  geom_point()
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该如何绘制连接数据点的连续线以及如何围绕数据点绘制圆users >40

eip*_*i10 5

要连接这些点,请使用geom_line(如果这不能满足您的需要,请解释您要实现的目标)。

我没有使用过geom_encircle,但另一种选择是使用删除填充的填充标记来创建圆圈。这是一个示例,使用内置mtcars数据框进行说明:

ggplot(mtcars, aes(wt, mpg)) + 
  geom_point() +
  geom_point(data=mtcars[mtcars$mpg>30,],
             pch=21, fill=NA, size=4, colour="red", stroke=1) +
  theme_bw()
Run Code Online (Sandbox Code Playgroud)

pch=21是填充标记之一(?pch有关其他可用点标记的更多信息,请参阅 参考资料)。我们设置fill=NA删除填充。stroke设置圆形边框的粗细。

在此输入图像描述

更新:要向该图表添加一条线,请使用上面的示例:

ggplot(mtcars, aes(wt, mpg)) + 
  geom_line() +
  geom_point() +
  geom_point(data=mtcars[mtcars$mpg>30,],
             pch=21, fill=NA, size=4, colour="red", stroke=1) +
  theme_bw()
Run Code Online (Sandbox Code Playgroud)

但是,如果(如该图的原始代码中所示)您将语句放在aesgeom,而不是放在对 的初始调用中,那么您还ggplot需要aes在其中包含一条语句。geom_line