1

ggplot2 で確率間隔を使用していくつかの離散予測をプロットする必要がありますが、いくつか問題があります。

次のdata.frameがあります

city    pred    min.80    max.80
BH      100     50        150
RJ      120     80        140
SP      90      80        100

Y 軸に都市、X 軸に予測値をプロットしたい。y の離散値ごとに、min.80 と max.80 の値を範囲とする水平バーが必要です。私の考えは、それを行うためにgeom_rectfromを使用するggplot2ことです。

次のコードを試してみましたが、問題は、離散変数を連続変数に変換してプロットすることであり、ラベルの値が失われます。

> ggplot(df) + geom_rect(aes(xmin=min.80, xmax=max.80, ymin=as.numeric(city)-0.4,
+ ymax=as.numeric(city)+0.4))

それを行う別の方法はありますか?

4

2 に答える 2

4

geompointrangeまたはを使用することをお勧めしcrossbarます。

ggplot(df, aes(x=city)) + 
  geom_pointrange(aes(ymin=min.80, ymax=max.80, y=pred)) +
  coord_flip()

ここに画像の説明を入力

ggplot(df, aes(x=city)) + 
  geom_crossbar(aes(ymin=min.80, ymax=max.80, y=pred)) +
  coord_flip()

ここに画像の説明を入力

于 2012-06-25T15:32:42.463 に答える
0

y軸を係数()として残したいと思いますy=city。この種の(推定+間隔)データは、おそらく。のようなもので行う方が適切ですgeom_pointrange。結局のところ、長方形の「高さ」には解釈がありません。

エラーバーを水平にする必要がある場合は、以前に2つの方法でこれを実行しました。

  1. を使用してcoord_flip()
  2. 前回試しcoord_flip()てみたところ、少し制限があったので、とgeom_pointrange()組み合わせgeom_hline()て機能を再現することもありましたgeom_point()
于 2012-06-25T15:36:08.523 に答える