Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R GG在同一绘图上绘制两个调色板_R_Ggplot2 - Fatal编程技术网

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()