Mam trochę kodu ggplot, który działał poprawnie w 0.8.9, ale nie w 0.9.1.geom_vline z Character xintercept
mam zamiar wykreślić dane w theDF
i chciałby wykreślić linię pionową w xintercept="2010 Q1."
theGrid
jest jedynie wykorzystywane do tworzenia theDF
.
theGrid <- expand.grid(2009:2011, 1:4)
theDF <- data.frame(YrQtr=sprintf("%s Q%s", theGrid$Var1, theGrid$Var2),
Minutes=c(1000, 2200, 1450, 1825, 1970, 1770, 1640, 1920, 1790, 1800, 1750, 1600))
Kod stosuje się:
g <- ggplot(theDF, aes(x=YrQtr, y=Minutes)) +
geom_point() +
opts(axis.text.x=theme_text(angle=90))
g + geom_vline(data=data.frame(Vert="2010 Q2"), aes(xintercept=Vert))
Ponownie, działa dobrze w R 2.13.2 z ggplot2 0.8.9, ale nie w R 2.14+ z ggplot2 0.9.1.
Rozwiązaniem jest:
g + geom_vline(data=data.frame(Vert=4), aes(xintercept=Vert))
Ale to nie jest to dobre rozwiązanie dla mojego problemu.
Może pomóc w rozmowie z scale_x_discrete
?
Nie można tego powtórzyć bez 'theVerts' (co, jak przypuszczam, jest ramką danych?). – joran
@joran Miałem 'data =' w 'aes 'przez przypadek. Zostało to naprawione, a Verts został zastąpiony przez 'data.frame (Vert =" 2010 Q2 ")'. – Jared
To wygląda jak błąd. Czy możesz zgłosić problem na stronie: https://github.com/hadley/ggplot2/issues – wch