title - Wie werden Grenzen für Achsen in ggplot2 R-Plots festgelegt?




center position (3)

coord_flip() Hinweis: Wenn Sie auch coord_flip() , um die x- und die y-Achse zu spiegeln, können Sie mit coord_cartesian() keine Bereichsgrenzen coord_cartesian() da diese beiden Funktionen exklusiv sind (siehe here ).

Glücklicherweise ist dies eine einfache Lösung. setze deine Grenzen innerhalb von coord_flip() wie coord_flip() :

p + coord_flip(ylim = c(3,5), xlim = c(100, 400))

Dies ändert nur den sichtbaren Bereich (dh entfernt keine Datenpunkte).

Ich plane folgendes:

library(ggplot2)    

carrots <- data.frame(length = rnorm(500000, 10000, 10000))
cukes <- data.frame(length = rnorm(50000, 10000, 20000))
carrots$veg <- 'carrot'
cukes$veg <- 'cuke'
vegLengths <- rbind(carrots, cukes)

ggplot(vegLengths, aes(length, fill = veg)) +
 geom_density(alpha = 0.2)

Jetzt sage ich, dass ich nur die Region zwischen x=-5000 bis 5000 anstelle des gesamten Bereichs x=-5000 möchte.

Wie kann ich das machen?


Grundsätzlich haben Sie zwei Möglichkeiten

scale_x_continuous(limits = c(-5000, 5000))

oder

coord_cartesian(xlim = c(-5000, 5000)) 

Wobei die erste alle Datenpunkte außerhalb des angegebenen Bereichs entfernt und die zweite nur den sichtbaren Bereich anpasst. In den meisten Fällen würden Sie den Unterschied nicht sehen, aber wenn Sie etwas an die Daten anpassen, würde es wahrscheinlich die angepassten Werte ändern.

Sie können auch die Kurzschriftfunktion xlim (oder ylim ) verwenden, die wie die erste Option Datenpunkte außerhalb des angegebenen Bereichs entfernt:

+ xlim(-5000, 5000)

Weitere Informationen finden Sie in der Beschreibung von coord_cartesian .

Der RStudio-Cheatsheet für ggplot2 macht das optisch deutlich. Hier ist ein kleiner Abschnitt dieses Cheatsheets:

Verteilt unter CC BY .


Um schnell einen dput Ihrer Daten zu erstellen, dput Sie die Daten einfach (in ein Stück) in Ihre Zwischenablage kopieren und Folgendes in R ausführen:

für Daten in Excel:

dput(read.table("clipboard",sep="\t",header=TRUE))

für Daten in einer TXT-Datei:

dput(read.table("clipboard",sep="",header=TRUE))

Sie können den sep bei Bedarf ändern. Dies funktioniert nur, wenn sich Ihre Daten natürlich in der Zwischenablage befinden.







r plot ggplot2