0
我很難在ggplot中繪製線。我在背誦here討論的問題。當我在gplot美學中引入更多因素時,解決方案建議不起作用。這是代碼。ggplot中的繪圖線與繪圖中存在的分組數據無關
pp <- ggplot(mtcars, aes(factor(cyl), mpg, colour = factor(cyl))) + geom_boxplot()
df1 <- data.frame(a = c(1, 1:3,3), b = c(39, 40, 40, 40, 39))
df2 <- data.frame(a = c(1, 1,2, 2), b = c(35, 36, 36, 35))
df3 <- data.frame(a = c(2, 2, 3, 3), b = c(24, 25, 25, 24))
pp + geom_line(data = df1, aes(x = a, y = b)) + annotate("text", x = 2, y = 42, label = "*", size = 8) +
geom_line(data = df2, aes(x = a, y = b)) + annotate("text", x = 1.5, y = 38, label = "**", size = 8) +
geom_line(data = df3, aes(x = a, y = b)) + annotate("text", x = 2.5, y = 27, label = "n.s.", size = 8)
這產生了一個錯誤Error in factor(cyl) : object 'cyl' not found
。我知道我沒有在這裏描述最好的數據,但我希望問題清楚。我想在ggplot上繪製單色線,並在其上面寫入顯着值,而不管在圖中分組。
像魅力一樣工作。感謝@David,但我想提出一個擔心,ggplot對於簡單的事情來說似乎是一個複雜的實現。只是爲了添加該行,我不得不做這個微妙的改變,最重要的是,我必須在'stats_boxplot'中複製這個語法。我不得不採取類似的步驟'position_dodge'。 –
@satyanarayanrao ggplot2設計時考慮了數據可視化,而不是自定義註釋;當可視化數據時,每個圖層都會繼承美學效果。在任何情況下,對於ggplot2來說,重要的是要考慮數據中的變量如何映射到結果圖層 –