如何有多个色标成一个阴谋[R [复制](How to have multiple color sca

2019-10-17 18:54发布

这个问题已经在这里有一个答案:

  • 如何使用在不同GGPLOT2层中的不同颜色的调色板? 2个回答

我有一个由三个数据系列:

  • X(浮动)
  • Y(浮动)
  • S(浮动)
  • 类(离散值)

所有这三个数据系列共享相同的X坐标但其它部分是彼此数据系列不同。 通过使用一个geom_point()我的每三个数据系列(在读库ggpplot2)的我想与根据其颜色标尺的具体绘制每个数据系列的S如下:

ggplot(data, aes(x=X)) + geom_point(aes(y=Y, colour=S, shape=Class)) 

这工作,如果我只使用一个数据系列。 问题是,如果我定义了三个geom_points()为使用自己指定的YS ,它们都具有相同的颜色规模,这是对剧情有点混乱。

由于我已经在使用的形状来区分Class ES我会很喜欢有一个特定的颜色与它自己的颜色渐变我的每个数据系列。

比方说,例如:

  • 从深蓝色淡蓝色为数据序列1
  • 从暗红色至红色光为数据序列2
  • 从暗黄色至浅黄色的数据系列3

我环顾四周,但我还没有找到满足我的需要什么。 一些评论,其中说,使用GGPLOT2它是不可能有一个以上的色标每情节......是真的吗?

如果有人已经想通了,这种情节有或无GGPLOT2我将不胜感激他或她的解决方案。

Answer 1:

ggplot你真的可以只使用alpha你在问什么。 我做了一些数据:

df1 <- data.frame(X=rnorm(16), Y=rnorm(16), S=rep(1:4,times=4), Class=rep(LETTERS[1:4], each=4))
df2 <- data.frame(X=rnorm(16), Y=rnorm(16), S=rep(1:4,times=4), Class=rep(LETTERS[1:4], each=4))
df3 <- data.frame(X=rnorm(16), Y=rnorm(16), S=rep(1:4,times=4), Class=rep(LETTERS[1:4], each=4))

ggplot(df1, aes(x)) + geom_point(aes(y=Y, colour=S, shape=Class))
df1$id <- 1
df2$id <- 2
df3$id <- 3
df.list <- list(df1, df2, df3)
df.all <- ldply(df.list, rbind)

ggplot(df.all, aes(X, Y)) + geom_point(aes(colour=as.factor(id), shape=Class, alpha=S))

不知道是否能够满足您的要求...



文章来源: How to have multiple color scales into one plot R [duplicate]
标签: r colors ggplot2