0

私が提供しているベクトルに従ってバーを設定しようとしています。ベクトルは、バーに名前を付けるために使用される names.arg 関数の代わりです。私が達成したいのは、提供する順序でバーをプロットしたいということです (ヒストグラムの順序と同様)。目標は、バーを等間隔ではなくベクトルに従ってプロットすることです。

ここの例から、左側のバーのほとんどが現在のように均等に配置されるはずです。

a = c(1,2,6,8,11,2,3)
b = c(-0.2, 0.1, 0.12,0.13,0.2,0.5,0.6)
data = cbind(a,b)
barplot(data[,1], names= b, col =rgb(0,200,0,50,maxColorValue=255))
4

1 に答える 1

1

これは、編集前の質問に対する回答です。つまり、数値ベクトルによって決定される位置に水平バーをプロットする方法です。コメントに書いたように、barplotin には引数baseがありませんat。つまり、「箱ひげ図を描画する場所を指定する数値ベクトル」です (「参考文献」を参照?boxplot)。

これがggplot代替案です。In ggplotdata はデータ フレーム内にある必要があります。を使用して、x 軸と y 軸を入れ替えます (x を垂直に、y を水平にします) coord_flip。また、前の x 値 (a) を y 値として設定し、b についてはその逆を設定します。expandバーの「底」と軸の間のマージンを削除するには、ゼロに設定します。

df <- data.frame(a = a, b = b)

ggplot(data = df, aes(x = b, y = a)) +
  geom_bar(stat = "identity",
           position = "dodge",
           width = 0.03,
           alpha = 0.5) +
  geom_point() +
  coord_flip() +
  scale_y_continuous(expand = c(0,0)) +
  theme_classic() 

ここに画像の説明を入力

于 2013-10-10T18:05:09.923 に答える