很抱歉,這個標題很突兀,但這是一個奇怪的小問題,我不確定如何更好地描述它。
基本上,我想在時間圖中有條件地給一條線著色,以便在滿足條件時將其染成紅色,在不滿足條件時染成灰色。
然而,有時在condition == FALSE點之間存在condition == TRUE值,這將導致紅線跳過condition == FALSE值(以下示例)。
注意在這個例子中,紅線在time == 6處跳到time == 16,繞過了三個間斷的點。
我曾嘗試將NA值設定為0,但似乎沒有幫助。
有人有什么建議嗎?
df_plot <- tibble()
id = rep(1, 次 = 10),
時間 = seq(從= 0。 到= 25,長度。 out = 10),.
y_val = c(seq(從= 50。 到= 25,長度。 out = 5),。
seq(from = 25。 到= 50,長度。 out = 5)),。
con_val = c(NA。 NA。 1, NA, NA。 NA, 5, NA, NA, 2))
ggplot(data =df_plot。 aes(x = time, y = y_val, color = con_val> 0))
geom_point()
geom_line()
scale_colour_manual(values = setNames(c('red。 'grey')。 c(T。 F)))
uj5u.com熱心網友回復:
你需要定義一個單獨的組,因為如果沒有組,ggplot2默認使用color作為一個組
ggplot(data = df_plot。 aes(x = time, y = y_val, color = con_val> 0。 group = 1))
geom_point()
geom_line()
scale_colour_manual(values = setNames(c('red。 'grey')。 c(T。 F)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/318907.html
標籤:


