如何 select 图例项但仍保留 scale_color_manual() 指定的比例
How to select legend items but still preserve the scale specified by scale_color_manual()
问题:
我正在 ggplot 中创建二维绘图。根据有序因素,该图具有多条曲线。我想要一个只包含第一个和最后一个因素的图例,同时指定每个因素要使用的颜色。
我尝试过的:
设 colors
为包含每个因素的颜色规范的向量。使用 scale_color_manual(values=colors)
时,ggplot 会尝试在图例中列出所有项目。
为了 select 仅显示图例中的第一个和最后一个因子,我在 Whosebug 上推荐了几个答案:使用 breaks
参数指定因子值。这行得通,但现在只有与第一个和最后一个因素相关的曲线具有正确的颜色,其他是灰色的(即 NA
颜色值)。
任何包含两个单独的 scale_color_manual
的尝试也失败了。
你走在正确的轨道上。只需设置 breaks=
来定义图例中您想要的级别,并设置 values=
来定义 factor-color 关系。
data(iris)
library(ggplot2)
colors <- c("setosa" = "orange", "versicolor" = "red", "virginica" = "purple")
ggplot(data = iris) +
geom_line(aes(x = Petal.Width, y = Petal.Length, color = Species)) +
scale_color_manual(breaks = c("setosa", "virginica"), values = colors)
问题:
我正在 ggplot 中创建二维绘图。根据有序因素,该图具有多条曲线。我想要一个只包含第一个和最后一个因素的图例,同时指定每个因素要使用的颜色。
我尝试过的:
设 colors
为包含每个因素的颜色规范的向量。使用 scale_color_manual(values=colors)
时,ggplot 会尝试在图例中列出所有项目。
为了 select 仅显示图例中的第一个和最后一个因子,我在 Whosebug 上推荐了几个答案:使用 breaks
参数指定因子值。这行得通,但现在只有与第一个和最后一个因素相关的曲线具有正确的颜色,其他是灰色的(即 NA
颜色值)。
任何包含两个单独的 scale_color_manual
的尝试也失败了。
你走在正确的轨道上。只需设置 breaks=
来定义图例中您想要的级别,并设置 values=
来定义 factor-color 关系。
data(iris)
library(ggplot2)
colors <- c("setosa" = "orange", "versicolor" = "red", "virginica" = "purple")
ggplot(data = iris) +
geom_line(aes(x = Petal.Width, y = Petal.Length, color = Species)) +
scale_color_manual(breaks = c("setosa", "virginica"), values = colors)