我跟隨此鏈接example,因爲我有類似的情況,我試圖在同一圖中繪製兩個數據幀。我只想更改其中一個數據框的線型,該數據框在圖中起作用,但無法在圖例中正確顯示。ggplot2在圖例中錯誤地顯示線型
示例數據集:
set.seed(456)
n <- 20
dfr <- data.frame(
id=rep(1:n, 2),
group=rep(c("1","2"), each=n), value=c(rnorm(n), rnorm(n, sd=1.1))
)
df_95ci <- data.frame(y_values=c(-1,1)*qnorm(0.95))
df_99ci <- data.frame(y_values=c(-1,1)*qnorm(0.99))
require(ggplot2)
代碼:
ggplot(data=dfr, mapping=aes(x=id, y=value)) +
geom_line(mapping=aes(colour=group)) +
geom_hline(data= df_95ci, mapping=aes(yintercept=y_values, size= "95% CI"), colour = "orange", linetype="dotdash") +
geom_hline(data= df_99ci, mapping=aes(yintercept=y_values, size= "99% CI"), colour = "darkred", linetype="dotted") +
scale_color_hue("Group") +
scale_size_manual(
"CI horizontal line", values=rep(1,4),
guide=guide_legend(override.aes = list(colour=c("orange", "darkred")))
) +
scale_linetype_identity(guide="legend")
正如你可以看到我有兩行不同的線型,但他們是傳說中的相同。
簡單的解決辦法就是進行標記,你做了'大小=以同樣的方式'的審美觀裏面,添加一個'scale_linetype_manual'你做的大小以同樣的方式。 – Brian