堆积的条形图与传奇相反?

时间:2012-05-10 01:25:56

标签: r plot bar-chart legend

关于在R中绘制堆积条形图的一个小问题 堆积条代表从下到上的系列。 但图例始终显示系列从上到下。我认为 ggplot2::geom_bar

也是如此

有没有比在 rev(...) legend() 中使用 barplot() 两次更好的习语如:

exports <- data.frame(100*rbind('Americas'=runif(6),'Asia'=runif(6),'Other'=runif(6)))
colnames(exports) <- 2004:2009
series_we_want <- c(1,2,3)
barplot( as.matrix(exports[series_we_want,]), col=mycolors, ...)
legend(x="topleft", legend=rev(rownames(exports)[series_we_want]), col=rev(mycolors) ...)

(如果省略其中一个 rev()'s ,输出显然毫无意义。似乎是添加单个标志 yflip=TRUE 的增强案例或 yreverse=TRUE

1 个答案:

答案 0 :(得分:1)

这就是我使用你的代码:

exports <- data.frame(100*rbind('Americas'=runif(6),'Asia'=runif(6),'Other'=runif(6)))
colnames(exports) <- 2004:2009
series_we_want <- c(1,2,3)
barplot( as.matrix(exports[series_we_want,]))
legend(x="topleft", legend=rev(rownames(exports)[series_we_want]))

enter image description here

试试这个:

exports <- data.frame(100*rbind('Americas'=runif(6),'Asia'=runif(6),'Other'=runif(6)))
colnames(exports) <- 2004:2009
series_we_want <- c(1,2,3)
test_data<-as.matrix(exports[series_we_want])

 barplot( test_data, 
          legend.text=as.character(rev(rownames(exports)[series_we_want])), 
           args.legend = list(x="topleft"))

似乎以与你所拥有的相反的顺序产生了传奇

enter image description here