如何改变直方图条的顺序

时间:2017-01-18 15:39:09

标签: r ggplot2 histogram

我尝试手动更改直方图条的顺序,但却无法实现。有人可以帮帮我吗?

我想将带有以下第一个数字的小条放在一起:1-8-12,2-7-11,3-6-10和4-5 -9。

我也尝试将颜色更改为另一个调色板,但没有成功。如果有人可以为此提供正确的代码,我将不胜感激。

enter image description here

dsv <- read.csv("mydata.csv",sep=";",dec=",",header=TRUE,row.names=1)
dsv$Diatomeer <- NULL
tdsv <- t(dsv)
pdsv <- prop.table(as.matrix(tdsv),margin=2)
sum(pdsv)
tpdsv <- pdsv*100 
plotdsv <- melt(tpdsv)
head(plotdsv)
colnames(plotdsv) <- c("Art","Basseng","value")
ggplot(plotdsv,aes(x=Basseng,y=value,ymin=0,ymax=value,fill=Art))+
  geom_bar(stat="identity")+
  theme(axis.text.x=element_text(angle=90))

2 个答案:

答案 0 :(得分:0)

对于着色,试试这个

my_pal <- c(RColorBrewer::brewer.pal(9, 'Set1'),
          RColorBrewer::brewer.pal(8, 'Set2'))

稍后在ggplot添加

scale_colour_manual(values=my_pal)

答案 1 :(得分:0)

非常感谢你的帮助。 我已设法手动改变颜色。我差不多完成了,我只需要手动重新排列物种的顺序,这样他们就能获得正确的颜色和顺序。默认情况下,它们按字母顺序排列。

我用过     scale_color_hue(...,打破= C( '物种......'),标签= C( 'mylabels ...'))     + scale_fill_manual(值= C( 'mycolours ...'))

我在break =函数中按照我想要的顺序绘制了每个物种,但它仍按字母顺序排列。你有解决我的问题的方法吗?谢谢!