С вашим добавленным кодом я могу воспроизвести ваш график.Обратите внимание, что некоторые столбцы не содержат синий сегмент, поскольку в ваших данных некоторые значения в этом столбце фактически равны нулю.Но мы можем изменить порядок сегментов, переставив столбцы ваших данных и связанных с ними цветов:
#You data was a table, but it was easier for me to copy+paste
# it and then read it as a data.frame
m <- read.table("~/Desktop/stackoverflowExamples/so.txt",header = TRUE,sep = "")
#Move the first column over to be the rownames
rownames(m) <- m[,1]
m <- m[,-1]
#Note that I just rearranged each piece so that the blue
# segments will be first; this includes the color and
# legend text ordering
barplot(t(m[,c(4,1:3,5)]),col=rainbow(5)[c(4,1:3,5)],
las=2,cex.names = 0.5,
legend.text = colnames(m)[c(4,1:3,5)])
, что выдает что-то вроде этого:что когда эта категория не равна нулю, синий сегмент будет внизу.