我有一些ggplot代碼,在0.8.9工作正常,但不是在0.9.1。geom_vline與字符xintercept
我打算將數據繪製在theDF
中,並且想繪製一條垂直線xintercept="2010 Q1."
theGrid
僅用於創建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))
使用的代碼是:
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))
再次,這工作得很好中的R與2.13.2 0.8.9 GGPLOT2,但與GGPLOT2 0.9.1不中的R 2.14+。
一種解決方法是:
g + geom_vline(data=data.frame(Vert=4), aes(xintercept=Vert))
但是,這不是我的問題一個很好的解決方案。
也許搞亂scale_x_discrete
可能有幫助嗎?
沒有'theVerts'(我認爲這是一個數據框?),這是不可重現的。 – joran
@joran我偶然在'aes'中有'data ='。現在它已經被修復了,這個Vertices已經被data.frame(Vert =「2010 Q2」)所取代。 – Jared
這看起來像一個錯誤。你可以在以下網址提交問題:https://github.com/hadley/ggplot2/issues – wch