在这里找到我的问题的部分解决方案。我将展示该解决方案的工作原理以及仍然缺少哪些功能来满足我的需求。为了保持一致,我使用了一个示例数据集,该数据集与另一个线程的数据集相似:
library(ggplot2)
library(reshape2)
library(tidyverse)
df <- data.frame(x = c(1:5), a = c(1,2,3,3,3), b = c(1,1.1,1.3,1.5,1.5))
df <- mutate(df, log2 = log2(x))
df <- df <- melt(df, c("x", "log2"))
Run Code Online (Sandbox Code Playgroud)
数据的初始图(由以下代码创建)在单独的图例中具有shape和color外观,这是不希望的:
ggplot(df) +
geom_point(aes(x, value, colour = variable, shape = variable), size = 3) +
geom_line(aes(x, log2, color = "log2(x)"), size = 1.5)
Run Code Online (Sandbox Code Playgroud)
该解决方案建议使用guides()并将override.aes它们组合成单个图例,这肯定是对原始图的改进:
ggplot(df) +
geom_point(aes(x, value, colour = variable, shape = variable), size = 3) +
geom_line(aes(x, log2, color = …Run Code Online (Sandbox Code Playgroud)