12

次のコードは、ggplot2のバージョン.9より前の動作に使用されます。これはもう不可能ですか?

df = data.frame(x = letters[1:26], y=abs(rnorm(26)))
ggplot(df, aes(x=x, y=y)) + geom_bar() + geom_vline(xintercept='m')

次のエラーが発生します。

get(as.character(FUN)、mode = "function"、envir = envir)のエラー:モード'function'のオブジェクト'm'が見つかりませんでした

4

2 に答える 2

15

オリジナルが古いバージョンのggplotで動作していたかどうかはわかりませんが、次のような別のアプローチを使用できます。

ggplot(df, aes(x=x, y=y)) + geom_bar() + geom_vline(xintercept=which(df$x == 'm'))

この助けを願っています!!!

于 2012-04-19T21:25:46.147 に答える
4

この回答は、分類されたx軸のカスタマイズされた位置に垂直線を追加したい人のためのより広範な議論のようなものです。

私は5つのグループと各グループに5つの要素を持っています。各グループの最後の要素の後ろに4本の垂直線を追加して、5つのグループ(この場合は「E」の位置)を分離します。@dickoaのメソッドは、私の場合は機能しません。私が使うとき:

geom_vline(xintercept=which(df$x == 'm'))

3番目のグループの「m」に垂直線を追加するだけです。私はちょうど私がこのようにsthを試すことができることを見つけます:

geom_vline(xintercept = c(1.5,2.5,3.5,4.5))

少なくともこれは私の場合には完璧に機能します。ケースに合ったパターンを見つけるために、数回試す必要があるかもしれません。

x/y軸の比率に基づいて垂直/水平線を追加する方法を常に知りたいです。たとえば、xintercept = 0.5は、x軸の中央に垂直線を追加することを意味し、xintercept=0.25は第1四半期を意味します。しかし、私はこのトピックについての知識を見つけることができません。

于 2018-08-31T18:16:17.370 に答える