Ich habe den folgenden Weg verwendet, um 3 Histogramme zu erstellen. Die vierte hat plötzlich eine umgekehrte Reihenfolge auf der x-Achse. Es gibt jedoch nichts (zumindest nichts, was ich weiß) in dem Snippet, das die Reihenfolge beeinflussen sollte.x-Achse in umgekehrter Reihenfolge
Die x-Achse wird erwartet, dass mit dem niedrigsten Wert auf der linken Seite zu starten.
Hier ist der R-Code:
df <- mydata %>% mutate(length.class=cut(mydata$count,breaks = c(1,10,100,1000,10000,100000,1000000,10000000),include.lowest=TRUE,dig.lab=8)) %>% group_by(length.class) %>% summarise(count = n())
dftext <- as.data.frame(table(df$length.class))
colnames(dftext)[1] <- "x"
dftext$lab[dftext$x == "[1,10]"] <- 1063393
dftext$lab[dftext$x == "(10,100]"] <- 65986
dftext$lab[dftext$x == "(100,1000]"] <- 3206
dftext$lab[dftext$x == "(1000,10000]"] <- 386
dftext$lab[dftext$x == "(10000,100000]"] <- 32
dftext$lab[dftext$x == "(100000,1000000]"] <- 0
dftext$lab[dftext$x == "(1000000,10000000]"] <- 1
df$count[df$length.class == "(1000000,10000000]"] <- 1.1 // To make its bar visible
fmt <- function(decimals=0){
function(x) format(x,scientific = FALSE)
}
ggplot(df,aes(length.class,count)) + geom_bar(stat = "identity",width=0.9,fill="#999966") + scale_y_log10(labels = fmt()) + labs(x="", y="") + geom_text(data=dftext, aes(x=x, y=2, label=lab), size = 6) + theme(text = element_text(size=20)) +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_line(color = "grey"),
panel.grid.minor = element_line(color = "grey"),
panel.background = element_blank(),
axis.title.x = element_text(margin=margin(t = 15, unit = "pt")),
axis.text.x = element_text(angle = 45, hjust = 1))
Was die umgekehrte Reihenfolge verursacht, und wie kann ich es loswerden?
Bearbeiten: Sie sind schnell! :) Die Antwort von @ mark-peterson sieht ziemlich solide aus, allerdings habe ich damit keine Arbeitsergebnisse bekommen. Hier sind die angeforderten Daten: mydata.csv
Es würde helfen, wenn Sie eine Probe 'gab mydata' so wird Ihr Code –
In der Zwischenzeit arbeiten, versuchen Sie,' scale_x_reverse() '. Es ist dafür vorbereitet. Dies könnte [das beste Duplikat sein] (http://stackoverflow.com/questions/29127035/ggplot-reflect-plot-about-y-axis/29127211#29127211) –
Ich bekomme eine Warnung "Harmful Programs", wenn ich gehe Lade die Daten herunter. Können Sie eine Untermenge, die zum Plotfehler führt, "ausgeben"? –