簡體   English   中英

如何在ggplot2中繪制兩條線

[英]How to plot two lines in ggplot2

這似乎與Hadley在其ggplot2書中的一些示例相似,但是我似乎無法完成這項工作。 鑒於:

off = c(0, 2000, 4000, 6000, 25, 3000, 6050, 9000)
tim = c( 0, -100, -200, -300 -25, -125, -225, -325)
col = c( 1, 1, 1, 1, 2, 2, 2, 2)
dataf = data.frame(off, tim, col)
p = ggplot(dataf, aes(off, tim, color=col)) + geom_point() + geom_line()
p

我認為這應該繪制這8個點,並在col = 1的情況下通過前四個點畫一條線,在col = 2的情況下通過后四個點畫另一條線。但是我最后得到的是一條紅色和藍色線段交替的線。

為什么?!

因為col是數字。 將分組設置為因子變量的交互作用,但是由於沒有分組,因此將線繪制為單個組。 您可以將col更改為一個因子,

ggplot(datf, aes(off, tim, color=factor(col))) + geom_point() + geom_line()

或手動設置分組

ggplot(datf, aes(off, tim, color=col, group=col)) + geom_point() + geom_line()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM