如何让ggplot按照数据的先后顺序画线

如何让ggplot按照数据的先后顺序画线,第1张

ggplot 中画线的 *** 作主要有以下几个函数:

geom_line(),geom_path,geom_segment 和geom_curve()

geom_line 和geom_path 画多个点的线,其中geom_line 按照指点x坐标的顺序从小到大绘制(所以有了上图的各种抖动);geom_path 按照数据中各点(为dataframe类型)出现的顺序绘制,绘制过程需要注意各点的存储顺序;

geom_segment 用来连接两个点,需要分别指定起始、终止点的x,y

按照楼主的意思,应该尝试下geom_path

给你一个示例的example;如何添加线性回归线以及线性回归方程:

libray(ggplot2)

df <- data.frame(x = c(1:100))

df$y <- 2 + 3 * df$x + rnorm(100, sd = 40)

p <- ggplot(data = df, aes(x = x, y = y)) +

geom_smooth(method = "lm", se=FALSE, color="black", formula = y ~ x) +

geom_point()

lm_eqn <- function(df){

m <- lm(y ~ x, df)

eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2,

                 list(a = format(coef(m)[1], digits = 2),

                      b = format(coef(m)[2], digits = 2),

                      r2 = format(summary(m)$r.squared, digits = 3)))

as.character(as.expression(eq))             

}

效果大致是这样的:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11682975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存