R ggplot2 scale_y_continuous : die Kombination breaks & Grenzen

Problem: ich finde keine Art und Weise zu kombinieren, die Brüche und Grenzen Befehle in ggplot2. Die y-Achse sollte immer enthalten den Bereich von 0-40 und breaks=c(5,10,15,20,25,30,35). Die x-Achse sollte von 0-100, breaks=c(10,20,30,40,50,60,70,80,90,100). Ich will NICHT zur Anzeige von Daten, die außerhalb dieses Bereichs.

Versuchte ich + ylim, aber das überschreibt meine Pausen.
Ich habe versucht + expand, aber das zeigt auch Daten außerhalb des Bereichs, den ich haben möchte(1-100).
Ich habe versucht, sowohl das hinzufügen von Pausen und die Begrenzung der Bandbreite in einem zweiten Schritt, aber die y-Achse von meinem ersten Schritt wird einfach überschrieben, wenn ich das mache.

plot_Tili_Age_VS_Height <- ggplot(Tili, aes(x = Age, y = Height)) + geom_point() + 
  geom_smooth(method = "lm", se = FALSE, color = "black", formula = y ~ x) + 
  scale_y_continuous(trans = "log10", breaks = c(5, 10, 15, 20, 25, 30, 35)) + 
  expand_limits(y = c(0, 35), x = c(0, 100)) + 
  scale_x_continuous(trans = "log10", breaks = c(10, 20, 30, 40, 50, 60,70, 80, 90, 100)) +
  theme_bw(base_size = 15) + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())

df <- data.frame(x = log(Tili$Age), y = log(Tili$Height))
lm_eqn = function(df) {
  m = lm(y ~ x, df)
  eq <- substitute(ln(italic(y)) == a + b %*% ln(italic(x)) * "," ~ ~italic(r)^2 ~ 
                     "=" ~ r2, list(a = format(coef(m)[1], digits = 2), 
                                    b = format(coef(m)[2], digits = 2), 
                                    r2 = format(summary(m)$r.squared, digits = 2)))
  as.character(as.expression(eq))
}

plot_Tili_Age_VS_Height <- plot_Tili_Age_VS_Height + 
  annotate("text", x = 30, y = 5, label = lm_eqn(df), hjust = 0, 
           size = 3, family = "Times", parse = TRUE)
plot_Tili_Age_VS_Height 

Irgendeine Idee wie es zu lösen ist?

  • Ist Tili eine eingebaute dataset? Kann man diese reproduzierbar für andere?
  • Haben Sie versucht, mit dem limits argument, z.B. scale_x_continuous?
  • Loswerden expand_limits() verwenden Sie nicht ylim oder xlim, verwenden Sie einfach scale_y_continuous und scale_x_continuous nehmen Sie beide breaks und limits Argumente.
  • Ich habe versucht, ein reproduzierbares Beispiel, aber mein code hat nicht mehr funktioniert mit anderen Daten. Sorry für das! 🙁 Ich glaube allerdings, dass es nicht wirklich wichtig ist in meinem Beispiel, was die Daten sind, das problem ist, dass die ggplot Grammatik läßt mich nicht kombinieren, Grenzen = Pausen-und =, so dass ich dachte, es sollte in Ordnung sein, ohne dass die Daten
  • Ja, habe ich. Es überschreibt auch die Pausen.
  • ja, Sie tun nehmen Sie die Argumente, aber wenn ich Grenzen UND bricht, R-sets einige zufällige Pausen, statt mit mir, und ich kann nicht herausfinden, warum.

InformationsquelleAutor Baycat | 2016-07-11
Schreibe einen Kommentar