【发布时间】:2018-10-18 23:27:59
【问题描述】:
在 R 中,我试图生成一个图,我想通过案例分组应用独特的颜色、线条类型、透明度和线条粗细。当前实施时,会生成两个图例图而不是一个。第二个图例是我唯一可以更改图例标题的图例。大概我犯了一个错误,任何帮助将不胜感激。
最终我想生成一个图例并让样式更改和标签更改生效。
library(ggplot2)
temp_df <- data.frame(year = integer(50), value = numeric(50), case = character(50))
temp_df$year <- 1:50
temp_df$value <- runif(50)
temp_df$case <- "A"
df <- temp_df
temp_df$value <- runif(50)
temp_df$case <- "B"
df <- rbind(df, temp_df)
LineTypes <- c("solid", "dotted")
colors <- c("red", "black")
linealphas <- c(1, .8)
linesizes <- c(1, 2)
Plot <- ggplot(df, aes(x = year, y = value, group = case))+
geom_line(aes(linetype = case, color = case, size = case, alpha = case))+
scale_linetype_manual(values = LineTypes)+
scale_color_manual(values = colors)+
scale_y_continuous(limits = c(0, 1), labels = scales::percent)+
scale_alpha_manual(values = linealphas)+
scale_size_manual(values = linesizes)+
xlab("Year")+
ylab("Percentage%")+
labs(color = "Scenario")+
theme_minimal()
Plot
【问题讨论】:
-
您可以在手动 scale_* 函数中使用
name =参数来更改图例标题,eg+ guides(linetype = FALSE)可以隐藏与 scale_* 函数关联的图例.但就个人而言,在这种情况下,我只会使用颜色来区分组。
标签: r plot ggplot2 legend labeling