考虑以下数据框:
x = read.table(text = 'Lo Re Pe
1 T 33
1 F 22
1 H 11
2 T 22
2 F 22', header = TRUE)
和下面的情节:
qplot(factor(Lo), data=x, geom='bar', fill=Re, weight=Pe,
xlab='L', main='Title', ylab='Pe')
现在考虑这个数据框:
x <- read.table(text = 'Lo Re Pe
1 D 33
1 K 22
2 D 22
2 K 22', header=TRUE)
用同样的qplot
说法。
分配给每个Re
值的颜色在图之间不一致,因此很难直接比较图。
例如,如何指定该Re
值T
应始终为“红色”,并且该Re
值F
应始终为“蓝色”,例如,无论数据框的内容如何,该qplot
命令始终为每个值使用一致的颜色?Re
的值是有限且已知的Re
,因此我可以全部指定。
当数据框包含值时,我尝试了以下操作T
,F
并且H
:
qplot(factor(Lo), data=x, geom='bar', fill=Re, weight=Pe,
xlab='Loci', main='Title', ylab='Pe',
scale_fill_manual(values=c("Blue","Red","Green"),labels=c("T","F","H")))
但 R 报告关于不正确长度的错误并且不生成绘图。
理想情况下,该解决方案允许我为 的所有可能值指定颜色Re
,即使所有这些可能都不存在于数据框中。