我在上个月一直在加快速度.
这是我的问题:
将颜色分配给ggplot2中具有稳定映射的分类变量的好方法是什么?我需要在一组图表中具有一致的颜色,这些图表具有不同的子集和不同数量的分类变量.
例如,
plot1 <- ggplot(data, aes(xData, yData,color=categoricaldData)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
哪里categoricalData有5个级别.
然后
plot2 <- ggplot(data.subset, aes(xData.subset, yData.subset,
color=categoricaldData.subset)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
哪里categoricalData.subset有3个级别.
但是,两组中的特定级别将以不同的颜色结束,这使得更难以一起阅读图形.
我是否需要在数据框中创建颜色矢量?或者是否有另一种方法可以为类别指定特定颜色?
我有一个数据集,我必须从中制作几十个图.数据由30个组组成,每组内有多个测量值.
大多数情节不会同时使用所有群组.
我的目标是为一组组提供一个单色托盘,使得任何给定组在所有图形中都是相同的颜色.在下面的例子中,这将意味着Group C在相同的颜色Plot 1和Plot 2.
我的问题是如何解决这个问题.
我尝试过scale_fill_manual的几种变体(适当的时候还有scal_color_manual).虽然颜色是从指定的托盘中选择的,但我似乎无法通过组来索引托盘,或者以其他方式"跳过"对应于缺少组的颜色
我还想过尝试将颜色信息添加为正在绘制的数据列,但我不确定如何使用此列作为组的颜色.

# SAMPLE DATA:
DT1 <- data.table(Name=c("C_sub1", "A_sub1", "A_sub2"), Value=c(2,5,3), Group=c("C", "A", "A"), key="Group")
DT2 <- data.table(Name=c("A_sub1", "B_sub1", "C_sub1", "C_sub2"), Value=c(4,3,6,3), Group=c("A", "B", "C", "C"), key="Group")
# SAMPLE Color Pallette
ColorsDT <- data.table(Group=LETTERS[1:5], Color=c("#333BFF", "#CC6600", "#9633FF", "#E2FF33", "#E3DB71"), key="Group")
# Add a column for Color, according to the Group
DT1[ColorsDT, Color := i.Color]
DT2[ColorsDT, Color := i.Color]
# A Basic Plot
simplePlot <- function(DT, tit)
ggplot(DT …Run Code Online (Sandbox Code Playgroud)