Ich generiere Diagramme für einige Daten, aber die Anzahl der Ticks ist zu gering. Ich benötige mehr Genauigkeit beim Lesen.
Gibt es eine Möglichkeit, die Anzahl der Achsen-Ticks in ggplot2 zu erhöhen?
Ich weiß, dass ich ggplot anweisen kann, einen Vektor als Achsen-Ticks zu verwenden, aber ich möchte die Anzahl der Ticks für alle Daten erhöhen. Mit anderen Worten, ich möchte, dass die Tick-Nummer aus den Daten berechnet wird.
Möglicherweise macht ggplot dies intern mit einem Algorithmus, aber ich konnte nicht finden, wie es funktioniert, um es nach meinen Wünschen zu ändern.
by
Argument auf verschiedene Zahlenskalen zu "verallgemeinern" , dh 0,5 ist ein guter Wert für diese Daten, deren Bereich c (-3,3) ist, aber es ist kein guter Bereich für Daten, deren Bereich ist c (0,5000). Gibt es eine Funktion, die es berechnet?max-min/30
ein ziemlich häufiger "Eimer". Größe ... aber das kann ein guter Ausgangspunkt für Sie sein oder auch nicht.scale_x_date(date_breaks = "5 months", date_minor_breaks = "1 months")
coord_cartesian
sollte statt verwendet werdenxlim
. stackoverflow.com/questions/25685185/…Basierend auf Daniel Krizians Kommentar können Sie auch die
pretty_breaks
Funktion aus derscales
Bibliothek verwenden, die automatisch importiert wird:Sie müssen lediglich die Anzahl der gewünschten Ticks eingeben
n
.Eine etwas weniger nützliche Lösung (da Sie die Datenvariable erneut angeben müssen), können Sie die integrierte
pretty
Funktion verwenden:quelle
scales
, fügt die Funktionen jedoch nicht Ihrem Namespace hinzu. Sie können sie daher ohne den Import als aufrufenscales::pretty_breaks(n = 10)
.Sie können ein Funktionsargument
scale
angeben, und ggplot verwendet diese Funktion, um die Tick-Positionen zu berechnen.quelle
number_ticks
. Dies wurde bereits in implementiertpretty_breaks {scales}
. Daher:ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=pretty_breaks(n=10)) + scale_y_continuous(breaks=pretty_breaks(n=10))
require(scales)
2) dies scheint zu verhindern, dass meine Pausen in wissenschaftlicher Notation erscheinen, daher wird 1e6 in 1000000 geändert ??pretty
ohne dasscales
Paket verwenden. Geben Sie einfach die Werte als Argument an. Zum Beispiel:(breaks=pretty(dat$x, n=10))
Die kommende Version v3.3.0 von bietet
ggplot2
die Optionn.breaks
, automatisch Pausen fürscale_x_continuous
und zu generierenscale_y_continuous
quelle
Zusätzlich,
Funktioniert für gruppierte oder diskret skalierte x-Achsendaten (dh Rundung nicht erforderlich).
quelle