2013-03-31 3 views
8

Wenn ich möchte, dass meine Datenachse mehr Pausen hat, aber keine Transformation der Werte, wie kann ich das in ggplot2 machen? zB:Angabe der Anzahl der Brüche mit Skalen in ggplot2 ohne eine Transformation?

... + scale_x_continuous(breaks=scales.trans_breaks("log2", function(x) 2^x, n=8), limits=limits) 

funktioniert, wenn Sie Ihre Daten transformiert wollen und die n= Parameter können Sie sagen, wie viele Pausen. Wie können Sie Pausen angeben, ohne die Daten zu transformieren? Gibst du es nur eine Identitätsfunktion?

Antwort

4

können Sie scale_x_continuous einen Vektor von Pausen wie folgt geben:

n=5 
breaks = seq(min(dat$x),max(dat$x), length.out = n) 
m + scale_x_continuous(breaks=breaks) 
+4

Ich weiß, aber ich möchte nicht die Breaks-Werte angeben, nur die Nummer – user248237dfsf

15

ich lieber nicht explizit Zecken basierend auf Berechnungen in den Daten geben, und so möchte ich ggplot2 die Strichmarkierungen holen nur für mich gegeben die Grenzen und die Anzahl der Ticks. Dieser Code funktioniert für mich:

library(scales) 
scale_x_continuous(breaks = trans_breaks(identity, identity, n = numticks)) 

natürlich können Sie immer die Strichmarkierungen explizit mit breaks = ... gesetzt, wie agstudy schrieb.

+8

Da Sie keine Transformation verwenden, können Sie auch 'pretty_breaks' anstelle von' trans_breaks' verwenden. – Backlin

Verwandte Themen