У меня есть проблема, которая является очень простой, но я не могу ее решить, поскольку я едва использовал ggplots2 ... Я просто хочу, чтобы сюжет слева использовал цвета в переменная color1 и график справа используют цвета в переменной color2. Это MWE:ggplot2: использовать разные цвета в разных фасетках
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)
Спасибо большое!
У меня есть ощущение, что ваши потребности данные будут перестроены дальше до черчения. Но чтобы сказать, если это так, можете ли вы предоставить еще несколько контекстов и немного описать свои переменные. Приветствия. – Henrik
Не точный дубликат, но я думаю, что [этот вопрос] (http://stackoverflow.com/questions/10267583/programmatically-specifying-colours-in-scale-fill-manual-ggplot-call) охватывает многие из тех же и стоит проверить. – SlowLearner
это просто очень простой пример; У меня есть больший кадр данных с аналогичной структурой, с тремя различными измерительными переменными. Я хочу построить 1-й (по оси y) по сравнению со вторым и третьим независимо (по оси x). Кроме того, я выделяю записи, которые являются 25% с более высокими значениями var1 и более высокими значениями var2, 25% с более низкими значениями var1 и более низкими значениями var2, и теми же для var1 vs var3. Это 2 цветовые шкалы, которые я хочу изобразить (left = top 25% var1vs2 в красном, нижнем 25% var1vs2 в синем, остальное в черном, right = top 25% var1vs3 в красном, нижнем 25% var1vs3 в синем, отдых в черном). – DaniCee