gpt4 book ai didi

R - 使用 ggplot 在同一图表上为三个数据集创建图例

转载 作者:行者123 更新时间:2023-12-04 11:28:36 27 4
gpt4 key购买 nike

我想知道是否可以使用 R 中的 ggplot 为包含多个系列的图的图形创建图例框。本质上,这就是我正在做的。

x <- c(1,2,3,4)
y <- c(1.1,1.2,1.3,1.4)
y2 <- c(2.1,2.2,2.3,2.4)
x3 <- c(4,5,6,7)
y3 <- c(3.1,3.2,3.3,3.2)
p1 <- data.frame(x=x,y=y)
p2 <- data.frame(x=x,y=y2)
p3 <- data.frame(x=x3,y=y3)

ggplot(p1, aes(x,y)) + geom_point(color="blue") + geom_point(data=p2, color="red") + geom_point(data=p3,color="yellow")

上面的命令将以三种不同的颜色绘制所有三个数据集 p1、p2 和 p3 的图形。我知道我还没有指定每个数据集的名称,但是我将如何创建一个标识不同数据集的图例?换句话说,我只想要一个图例,说明所有蓝点都是 P1,所有红点都是 P2,所有黄点都是 P3。

最佳答案

您需要将它们转换为单个 data.frame 并将颜色美学映射到点来自哪个数据集。您可以使用 melt来自 reshape用于制作单个 data.frame 的包:

zz <- melt(list(p1 = p1, p2 = p2, p3 = p3), id.vars = "x")

ggplot(zz, aes(x, value, colour = L1)) + geom_point() +
scale_colour_manual("Dataset", values = c("p1" = "blue", "p2" = "red", "p3" = "yellow"))

enter image description here

关于R - 使用 ggplot 在同一图表上为三个数据集创建图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5861489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com