[英]ggplot2: use different colors in different facets
我有一個似乎是一個非常基本的問題,但我無法解決它,因為我幾乎沒有使用ggplots2 ......我只是想讓左邊的情節使用變量color1中的顏色而右邊的情節使用變色2中的顏色。 這是一個MWE:
library(reshape2)
library(ggplot2)
a.df <- data.frame(
id=c("a","b","c","d","e","f","g","h"),
var1=c(1,2,3,4,5,6,7,8), var2=c(21,22,23,24,25,26,27,28),
var3=c(56,57,58,59,60,61,62,63),
color1=c(1,2,"NONE","NONE",1,2,2,1),
color2=c(1,"NONE",1,1,2,2,"NONE",2)
)
a.dfm <- melt(a.df, measure.vars=c("var2","var3"))
ggplot(a.dfm, aes(x=value, y=var1, color=color1)) +
geom_point(shape=1) +
facet_grid(. ~ variable)
非常感謝!
我認為對數據最簡單的方法是創建一個額外的列,其顏色根據variable
的值適當定義。 由於variable
可以承擔兩個可能的值,因此並不難。
a.dfm2 <- transform(a.dfm,
color.use = ifelse(variable=="var2",
as.character(color1),
as.character(color2)))
ggplot(a.dfm2, aes(x=value, y=var1, color=color.use)) +
geom_point(shape=1) +
facet_grid(. ~ variable)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.