2017-02-22 4 views
0

Много раз я делал следующий сложный брус, задавая порядок факторов. Сегодня я попробовал еще раз. Легенда уважает порядок, заданный вручную, но полосы отображаются противоположным образом (от последнего уровня до первого). Например, легенда следующая: Factor1, Factor2, Factor3. Но первым баром слева является Factor3, затем Factor2 и Factor1.Изменение порядка уровней факторов в легенде

Я полностью переустановил R и RStudio, но ничего не изменилось.

data<-read.table('file.txt', header=TRUE, sep="\t") 
data$Genus<-factor(data$Genus, levels=c('Factor1','Factor2','Factor3')) 
colors<-c('color1','color2','color3') 

c<- ggplot(data_gathered, aes(x=Materiel, y=Log, fill=Genus2)) 
    c <- c + geom_bar(stat = "identity") + 
     theme_classic()+ 
     theme(legend.text=element_text(face="italic", size=12))+ 
     theme(legend.title=element_text(face="bold.italic", size=12))+ 
     theme(strip.background = element_blank())+ 
     scale_y_continuous(limits=c(0,10))+ 
     scale_fill_manual(values = colors) + 
     labs(y='axis title', x=element_blank(), fill='Legend') + 
     coord_flip() 

c 

Это проблема с моим программным обеспечением? Что я мог сделать?

+0

'данных $ Genus <-коэффициент (данные $ Genus, уровни = оборотов (с ('Factor1', 'Factor2', 'Factor3')))'? – Axeman

+0

Команда «rev» решила проблему порядка баров, но теперь это легенда, которая находится не в той стороне. –

+0

Тогда, возможно, попробуйте '+ scale_x_reverse()'. – Axeman

ответ

0

Для того, чтобы изменить порядок на уровне, вам необходимо будет изменить порядок фактора в наборе данных.

просто попробовать этот

data$Genus<-factor(data$Genus, levels=c('Factor1','Factor2','Factor3'), ordered = TRUE) 
Смежные вопросы