我想改變R圖(同一系列數據)中的LINE的顏色。例如,如果你有一年的星期顯示溫度點,並且它們與geom_line()
或同等數據有關,那麼我將如何顯示在更高的溫度周內線條變得更深,而在較冷的周內逐漸變爲黃色? (如果兩個點和線可以在相同的調色板/梯度上基於相同的變量 - 例如溫度而變化,那將是理想的)。如何改變R圖(ggplot或類似的)中的變量的LINE顏色
bp.df <- NULL
bp.weeks <- 26
bp.days <- 7 * bp.weeks
bp.df$day <- 1:bp.days
bp.df$week <- ceiling(bp.df$day/7)
bp.mean.normal <- 100
bp.sd.normal <- 20
bp.df <- as.data.frame(bp.df)
bp.df$normal <- rnorm(nrow(bp.df),bp.mean.normal, bp.sd.normal)
bp.df$day <- as.numeric(bp.df$day)
# make sure ggplot2 is installed and loaded
g <- ggplot(bp.df, aes(x = day, y = normal, color = normal)) +
geom_point() +
geom_line(col = bp.df$normal)
g
爲什麼線條顏色與「正常」變量的水平不匹配?我明白,由於它們連接兩個點,因此線條必須「決定」使用哪一個值,但是此輸出似乎使顏色完全隨機。
如果跨漸變變化將不起作用,我將如何使該行在前50天爲紅色,在下一個50爲綠色等?
它_does_匹配;它使用'normal'的值作爲段的最左邊的點,因爲那是你通過'aes'傳遞的向量。爲了使顏色每50天變化一次,添加一個變量以作爲顏色美學傳遞。 'ggplot(bp.df,aes(x = day,y = normal,color = cut(day,seq(0,200,50))))+ geom_point()+ geom_line()' – alistaire
謝謝,接下來的評論明確澄清了我的困惑。顯然,單獨的變量對於驅動顏色是有意義的。 –