R GG在同一绘图上绘制两个调色板
我想在同一个绘图上使用两个调色板。 我有两个小组,里面有不同的模式,我的目标是每个小组都有自己的调色板 我没能用磅秤、颜色、啤酒厂做到这一点 谁能帮帮我吗 干杯R GG在同一绘图上绘制两个调色板,r,ggplot2,R,Ggplot2,我想在同一个绘图上使用两个调色板。 我有两个小组,里面有不同的模式,我的目标是每个小组都有自己的调色板 我没能用磅秤、颜色、啤酒厂做到这一点 谁能帮帮我吗 干杯 我的话题其实很广泛。 我要具体说明一下 我可以将我的数据总结如下: | side | factor | Time | value | |------|---------|------|-------| | Left | methodA | 0 | 5 | | Left | methodA | 1 | 3
我的话题其实很广泛。 我要具体说明一下 我可以将我的数据总结如下:
| side | factor | Time | value |
|------|---------|------|-------|
| Left | methodA | 0 | 5 |
| Left | methodA | 1 | 3 |
| Left | methodA | 2 | 2 |
| Right| methodA | 2 | 2 |
| Right| methodA | 2 | 2 |
| Right| methodA | 2 | 2 |
| Left | methodB | 0 | 5 |
| Left | methodB | 1 | 3 |
| Left | methodB | 2 | 2 |
| Right| methodB | 2 | 2 |
| Right| methodB | 2 | 2 |
| Right| methodB | 2 | 2 |
我想画一条时间的价值线
-为Side==Left使用红色调色板,因子由红色变量表示
-对Side==Right使用蓝色调色板,因子由蓝色变量表示
干杯注意:当每组中的因素数量相当小时,下面建议的方法是可行的。如果有许多不同的群体因素组合,你的观众可能无法分辨颜色的微小变化之间的差异,在这种情况下,按群体分面可以使画面更清晰 (我自己对任何演示的工作假设是,投影仪的使用年限超过10年,打印机墨水用完,至少有一半的目标观众逾期购买新的处方镜片……) 这在线条重叠不太多时效果最好,因为重叠区域看起来更暗 方法2:(仅适用于2个因素)创建一个组合变量并使用“配对”选项板
RColorBrewer
package的“成对”调色板有12种颜色,大约6对。如果您提供了数据和代码,您目前尝试的代码将非常有用……对于每个美学贴图,ggplot2中只有一个比例。正如罗兰所说,您只能有一个比例、颜色和填充比例。根据具体情况,有一些方法可以避免这种情况(例如,对于geom_point
,分别选择使用颜色和填充的不同点类型),但这种方法并不适用于所有情况。如果您甚至不能提供一个样本数据集来捕获数据的特征,那么这个问题的范围对于定制的答案来说就太广了。
# sample data
set.seed(10)
df <- data.frame(side = c(rep("Left", 3), rep("Right", 3), rep("Left", 3), rep("Right", 3)),
factor = c(rep("A", 6), rep("B", 6)),
time = rep(seq(1, 3), 4),
value = sample(seq(1, 10), 12, replace = T))
ggplot(df,
aes(x = time, y = value, colour = side, alpha = factor)) +
geom_line(size = 3) +
scale_alpha_discrete(name = "Factor", range = c(0.5, 1)) +
scale_color_manual(name = "Side", values = c("#1f78b4", "#33a02c")) +
theme_classic()
ggplot(df %>%
mutate(combined.variable = factor(paste(side, factor, sep = "~"))),
aes(x = time, y = value, colour = combined.variable)) +
geom_line(size = 3) +
scale_color_brewer(name = "Side~Factor", palette = "Paired") +
theme_classic()