2012-02-23 46 views
9

x軸がdatetime(POSIXct)オブジェクトの場合は、プロットに垂直線を追加する際に問題があります。いつもEpochにラインを入れたいと思う。ここでは例です:ggplot日付軸のある垂直線

df <- data.frame(x=ymd('2011-01-01')+hours(0:24), y=runif(25)) 
ggplot(df, aes(x=x,y=y)) + geom_point() 

without vertical line

今私は第三の観察時に行を追加しよう:私は間違って

ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(x=df$x[3])) 

with vertical line

何かをやっていますか?

答えて

3

は、代わりにこれをやってみてください。

geom_vline(xintercept = df$x[3]) 
+0

ありがとうございました。 'xintercept'がggplotのドキュメントの美学のリストから抜けているように見え、代わりに' x'についての言葉が出てきます。 =/ –

+0

ええ、それも私を捨てた。 http://had.co.nz/ggplot2/geom_vline.htmlのドキュメントで 'aes(x = whatever) 'と言うが、以下の例では' xintercept'を使っている。 – Andrew

+1

@KenWilliamsの例を使っている。> ggplot エラー:無効なインターセプト・タイプ:数値ベクトル、関数、またはaの名前でなければなりません(例:df、aes(x = x、y = y))+ geom_point()+ geom_vline(xintercept = df $ x [3]関数。何か案は? –

1
ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(xintercept=df$x[3])) 

あなたgeom_vlineaesxinterceptではなくxをしたいです。

+0

第2、第3の[google serarch](https://www.google.com/search?sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8&q=geom_vline+and+date&safe=on)の結果もあなたの質問に答えているようです。 .. – Justin

+0

助けてくれてありがとう。私はこの質問を提出する前にそれらのページを見ましたが、美的な名前の変更に気づいていませんでした。 'xintercept'という美学がドキュメントから欠落しているので、ドキュメントパッチを提出できるかどうか確認します。 –

+0

しかし、私はドキュメントに審美的なリストを生成するものは分かりません。https://github.com/hadley/ggplot2/blob/master/R/geom-vline.rには何も表示されません。 –