【发布时间】:2023-03-18 00:27:01
【问题描述】:
我正在制作许多散点图,u-v 值具有第三维 w,只能取 3 个值 (0,1,2)。我希望我的每个图表都有一个恒定的调色板,因此 3 个值在每个图表中始终具有相同的颜色。但是,我正在为这些值分配不同的颜色。一个例子是这样的:
library(ggplot2)
library(gridExtra)
u <- c(1.0968145, 0.2566922, 2.6884111, 2.3855156, 0.8794000, 2.4317190)
v <- c(-0.3252739, 0.9596294, -1.4270491, 0.7009061, 0.3631149, 1.8298008)
w <- c(1, 0, 1, 1, 1, 2)
df1 <- data.frame(u, v, w)
p1 <- ggplot(df1, aes(x=u, y=v, color=w )) + geom_point(show.legend = FALSE)
u <- c(0.9827588, 2.2715139, 1.0160009, -1.0461050, 0.0208908, 2.5948499)
v <- c(1.6068334, 0.7113232, 2.6927960, 3.4466515, 0.7541632, -0.2872779)
w <- c(0, 1, 0, 0, 0, 1))
df2 <- data.frame(u, v, w)
p2 <- ggplot(df2, aes(x=u, y=v, color=w )) + geom_point(show.legend = FALSE)
grid.arrange(p1, p2)
这段代码产生这样的情节:
现在第一帧包含所有三个值,这些值显示在顶部图中。该图中最右上角的点 (2.43, 1.83) 的值为 2,显示为浅蓝色。第二帧只有值0和1,但下图显示了这一帧,可以看出左下角的两个点,其值为1,也编码为浅蓝色。
我该如何解决这个问题?
【问题讨论】: