r版本:R 3.3.1 GUI 1.68 Mavericks build(7238)
我正在使用barplot为103个主题生成瀑布图。数据按从低到高的顺序排列。我的数据框的每一行都有一个颜色分配在一个名为color的变量中(代码下面显示的数据部分)。
我知道我最右边的酒吧应该是红色的,但它显示为蓝色。颜色分配中存在其他错误。任何建议表示赞赏。
谢谢,
杰拉德
我的代码和数据除了以下内容:
pdf(file="//users//Gerard//GS//r_work//BCVA_PP_WF2.pdf")
par(oma=c(2,2,2,2));
barplot(d_bcva,
space=0.0,
ylim=c(-40,30),
main = "Change in BCVA Letters Read at Week 20",
col=color,
ylab="Change",
las=1,
border=NA,
cex.axis=1.0,
cex.lab=1.0)
abline(h=c(-20,-15,-10,-5,5,10,15,20), col="lightgray", lty=c(2,2,2,2))
legend(
"topleft",
box.lty=0,
legend=c("Group A", "Group B", "Group C", "Group D"),
cex=0.8,
fill=c('red','blue','green','black'))
dev.off()
ARM d_bcva armn color order
1 Group C -33.5 3 green 1
2 Group C -26.0 3 green 2
3 Group B -14.5 2 blue 3
4 Group D -14.5 4 black 4
5 Group C -11.0 3 green 5
6 Group B -10.0 2 blue 6
7 Group A -9.5 1 red 7
8 Group C -7.5 3 green 8
9 Group C -7.0 3 green 9
10 Group C -7.0 3 green 10
11 Group C -6.5 3 green 11
[data removed]
97 Group D 15.0 4 black 97
98 Group D 16.0 4 black 98
99 Group A 16.5 1 red 99
100 Group B 16.5 2 blue 100
101 Group D 16.5 4 black 101
102 Group C 17.0 3 green 102
103 Group A 20.5 1 red 103
答案 0 :(得分:0)
color
列作为一个因素回来,影响了您对每行颜色的调用。
假设您的数据位于名为x
的数据框中:
barplot(x$d_bcva,
space=0.0,
ylim=c(-40,30),
main = "Change in BCVA Letters Read at Week 20",
col=as.vector(x$color),
ylab="Change",
las=1,
border=NA,
cex.axis=1.0,
cex.lab=1.0)
abline(h=c(-20,-15,-10,-5,5,10,15,20), col="lightgray", lty=c(2,2,2,2))