Ich habe ein ziemlich verwirrendes Feature in ggplot gefunden, als ich versuchte, Segmente auf Log10-Skala zu kommentieren. Folgender Code die Handlung unter:Segment Annotation auf Log10 Skala funktioniert unterschiedlich für das Ende und den Anfang des Segments?
library(ggplot2)
dat <- data.frame(x = x <- 1:1000, y = log(x))
ggplot(dat, aes(x = x, y = y)) +
geom_line(size = 2) + scale_x_log10() +
annotate("segment", x = 0, xend = log10(100), y = log(100), yend = log(100), linetype = 2) +
annotate("segment", x = log10(100), xend = log10(100), y = 0, yend = log(100), linetype = 2)
Während dies ist, was ich bin nach:
ggplot(dat, aes(x = x, y = y)) +
geom_line(size = 2) + scale_x_log10() +
annotate("segment", x = 0, xend = log10(100), y = log(100), yend = log(100), linetype = 2) +
annotate("segment", x = 100, xend = log10(100), y = 0, yend = log(100), linetype = 2)
Mit anderen Worten, ich muß log10 die Endpunkt-Transformation des Segments auf der x-Achse, aber nicht der Anfang. Hat dieses Verhalten eine logische Erklärung? Ich verstehe, dass aes()
does the transformations ... aber in diesem Fall sollten Transformationen auf der x-Achse einheitlich sein (naja, log10), oder?
Ich arbeite an:
R version 3.0.0 (2013-04-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
ggplot2_0.9.3.1