如何在 ggplot2 R 中的回归图上排序连续的 x 轴?
How to order continuous x-axis on regression graph in ggplot2 R?
我希望 x 轴从 400 变为 100。这是我的尝试,但没有成功。
set.seed(111)
var <- rep(c("SP1","SP2","AB1","AB2"), times = 5)
var.val <- rnorm(20,5,1)
level <- rep(c(100,200,300,400), each = 5)
df <- data.frame(var, var.val, level)
df <- df[order(-level),]
ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var)) + # set linetype
geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) +
theme_classic() +
geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, alpha = 0.2) +
geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, se = FALSE) +
scale_linetype_manual(values = c("dotdash", "dashed","solid", "solid")) +
scale_colour_manual(values = c("black","black","red","blue"))
尝试添加 scale_x_reverse()
library(tidyverse)
set.seed(111)
var <- rep(c("SP1","SP2","AB1","AB2"), times = 5)
var.val <- rnorm(20,5,1)
level <- rep(c(100,200,300,400), each = 5)
df <- data.frame(var, var.val, level)
df <- df[order(-level),]
ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var)) + # set linetype
geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) +
theme_classic() +
geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, alpha = 0.2) +
geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, se = FALSE) +
scale_linetype_manual(values = c("dotdash", "dashed","solid", "solid")) +
scale_colour_manual(values = c("black","black","red","blue")) +
scale_x_reverse()
由 reprex package (v2.0.1)
于 2022-05-04 创建
我希望 x 轴从 400 变为 100。这是我的尝试,但没有成功。
set.seed(111)
var <- rep(c("SP1","SP2","AB1","AB2"), times = 5)
var.val <- rnorm(20,5,1)
level <- rep(c(100,200,300,400), each = 5)
df <- data.frame(var, var.val, level)
df <- df[order(-level),]
ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var)) + # set linetype
geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) +
theme_classic() +
geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, alpha = 0.2) +
geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, se = FALSE) +
scale_linetype_manual(values = c("dotdash", "dashed","solid", "solid")) +
scale_colour_manual(values = c("black","black","red","blue"))
尝试添加 scale_x_reverse()
library(tidyverse)
set.seed(111)
var <- rep(c("SP1","SP2","AB1","AB2"), times = 5)
var.val <- rnorm(20,5,1)
level <- rep(c(100,200,300,400), each = 5)
df <- data.frame(var, var.val, level)
df <- df[order(-level),]
ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var)) + # set linetype
geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) +
theme_classic() +
geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, alpha = 0.2) +
geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, se = FALSE) +
scale_linetype_manual(values = c("dotdash", "dashed","solid", "solid")) +
scale_colour_manual(values = c("black","black","red","blue")) +
scale_x_reverse()
由 reprex package (v2.0.1)
于 2022-05-04 创建