R 条形图未正确显示颜色

R 条形图未正确显示颜色,r,R,r版本:R3.3.1 GUI 1.68 Mavericks build(7238) 我正在使用条形图为103个主题生成瀑布图。数据按从低到高的顺序排列。我的数据框的每一行都有一个在名为color的变量中指定的颜色(代码下面显示的数据部分) 我知道我最右边的酒吧应该是红色的,但它显示为蓝色。颜色分配中存在其他错误。如有任何建议,我们将不胜感激 谢谢 杰拉德 我的代码和数据如下所示: pdf(file="//users//Gerard//GS//r_work//BCVA_PP_WF2.pdf")

r版本:R3.3.1 GUI 1.68 Mavericks build(7238)

我正在使用条形图为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

color
列作为一个因素返回并影响您对每行颜色的调用

假设您的数据位于名为
x
的data.frame中:

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

变量
颜色是什么?此外,如果使用
dput
,则使用数据示例更容易。