Ich habe einen Barplot mit ggplot2 gemacht und das Journal, das ich vorlegen muss erfordert, dass die Achse ticks nach innen gerichtet.Wie mache ich meine Achse ticks Gesicht nach innen in ggplot2
Dies ist die Textdarstellung meiner Daten (dput)
Mean.Inc.melt<-structure(list(Var1 = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("Harvest","Pre-Harvest"), class = "factor"), Var2 = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label =c("Dip A", "Trip A", "Trip B"), class = "factor"), value = c(2, 34, 1, 36, 3, 46)), .Names =c("Var1", "Var2", "value"), row.names = c(NA, -6L), class = "data.frame")
Einschließlich der Standardfehler
SEM.Inc.melt<-structure(list(Var1 = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("Harvest", "Pre-Harvest"), class = "factor"), Var2 = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label = c("Dip A", "Trip A", "Trip B"), class = "factor"), value = c(1, 12, 1, 2, 1, 6)), .Names = c("Var1", "Var2", "value"), row.names = c(NA, -6L), class = "data.frame")
Dies ist das Skript, das ich bisher verwendet haben, um den Plot zu erstellen:
ggplot(Mean.Inc.melt,aes(x=Var2,y=value,fill=Var1))+
geom_bar(stat='identity',position=position_dodge(),colour='black')+
scale_fill_manual(values=c('#000000','#FFFFFF'))+
geom_errorbar(aes(ymin=Mean.Inc.melt$value-SEM.Inc.melt$value,
ymax=Mean.Inc.melt$value+SEM.Inc.melt$value),width=.1,
position=position_dodge(.9))+
xlab('Treatment')+
ylab('Percentage Incidence (%)')+
ylim(0,60)+
scale_y_continuous(expand=c(0,0),limits=c(0,60))+
scale_x_discrete(expand=c(0,0))+
theme_bw()+
theme(axis.line=element_line(colour='black'),panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),panel.border=element_blank(),
panel.background=element_blank())+
geom_vline(xintercept=0)+theme(legend.position='none')
Ich denke, der Punkt ist - weiß jemand, ob es eine Möglichkeit gibt, dass ich meine Achse nach innen bekommen kann?
In ggplot 2.0.0 mit einer 'Warnmeldung: 'axis.ticks.margin' ist veraltet. Bitte setze 'margin' -Eigenschaft von 'axis.text' anstatt '- und es scheint 'axis.text = element_text (margin = 5)' hilft nicht ... Ich poste zurück, wenn die Lösungen googlen. – xealits
Also, nach der test-und-try-Methode, so machen Sie es jetzt: 'theme (axis.ticks.length = Einheit (-0.25," cm "), axis.text.x = element_text (margin = unit (c (0.5,0.5,0.5,0.5), "cm")), axis.text.y = element_text (Rand = Einheit (c (0.5,0.5,0.5,0.5), "cm"))) - irgendwie erbte es nicht die Einstellung von "axis.text", und die Fehlermeldung fordert, dass Marge ein Vektor der Längen 4 ist. – xealits
@xealits - danke für das Posten der Korrektur. – jbaums