我想用ggplot繪製一個散點圖,其中geom_smooth()
以45度角與我的數據中心交叉,而不是自動繪製。如何在散點圖中繪製直線的交叉中心數據?
正如它在這裏顯示的那樣,geom_smooth()有很小的斜率,我改變了不同的方法lm,auto等,但沒有區別。
geom_smooth(color = "black", alpha = 0.5, method = "lm", se = F)
我該如何畫出正好穿過粉紅色圓點中間的線?
我想用ggplot繪製一個散點圖,其中geom_smooth()
以45度角與我的數據中心交叉,而不是自動繪製。如何在散點圖中繪製直線的交叉中心數據?
正如它在這裏顯示的那樣,geom_smooth()有很小的斜率,我改變了不同的方法lm,auto等,但沒有區別。
geom_smooth(color = "black", alpha = 0.5, method = "lm", se = F)
我該如何畫出正好穿過粉紅色圓點中間的線?
你要這樣呢?
geom_abline(intercept = 0, slope = 1)
此無線本地環路繪製一個45度角,通過0
進了線我認爲是geom_smooth
計算迴歸FR的所有點。嘗試刪除所有color
參數以獲得平滑的組。你可以檢查不同的地塊
a <- data.frame(x = c(1:10,2:11),y = c(2:11,1:10), label = c(rep("a",10),rep("b",10)))
ggplot(a, aes(x,y)) + geom_point(aes(color = label)) + geom_smooth(aes(color = label))
ggplot(a, aes(x,y)) + geom_point(aes(color = label)) + geom_smooth(color="black")
感謝它的工作,'geom_abline(截距= 0,斜率= 1)'工作正常,但它從一個角落到另一個,有什麼辦法讓這條線開始和結束像'geom_smooth'。 – user3616494
是的,將截距改爲所需的點。 –
geom_smooth(aes(group = type))
這將給出每一類型不同的曲線。然後,您可以弄清楚如何排除其他人,如果你想
library(ggplot2)
n <- 300
x <- seq(0,100,,n)
type <- factor(c(0,1)[sample(1:2, n, replace = TRUE)])
y <- 4 + 2*x + rnorm(n, sd=10) - 10*as.numeric(type)
df <- data.frame(x=x, y=y, type=type)
plot(y~x, df, bg=c("blue", "pink")[df$type], pch=21)
bp <- ggplot(df, aes(x = x, y = y, col=type))
bp +
geom_point() +
geom_smooth(color = "black", alpha = 0.5, method = "lm", se = F) +
geom_smooth(aes(group = type), data = subset(df, type==0), se=F)
你想要只穿過粉紅色的點中間的線?現在它看起來像geom_smooth正在查看所有的數據(藍色和粉紅色)也許嘗試修剪你傳遞給geom smooth的數據參數只有粉紅色的組 – Nate
是的,它跨所有數據,我只是改變了顏色函數基於價值上下,但它不想削減數據,因爲我需要2個其他組。 – user3616494
對,您不必丟失任何數據,只需調整您傳遞給geom_smooth的數據即可。像這樣:'geom_smooth(data = filter(df,value ==「up」),...)'如果你添加一個dput(your_data)它會更容易幫助 – Nate