1

非常にばかげた質問ですが、オンラインで答えが見つかりません。

次のように、複数の棒グラフをまとめてプロットする必要があります。

 i=1:4
 main = paste ("Location ", i)

 windows()
 par(mfrow=c(2,2))
 a<-table(c(rep(10, 6), rep(4, 32)))
 b<-table(c(rep(9, 6), rep(10, 32), rep(11,4)))
 c<-table(c(rep(10, 6)))
 d<-table(c(rep(10, 3), rep(9, 3), rep(8, 5)))

 barplot(a,  main=main[1], xlab='RSSI')
 barplot(b,  main=main[2], xlab='RSSI')
 barplot(c,  main=main[3], xlab='RSSI')#, width=0.5
 barplot(d,  main=main[4], xlab='RSSI')

1)すべてのグラフで同じになるように、軸のスケールを一定に保つことは可能ですか?

2) グラフの棒の幅を一定に保つことは可能ですか? 幅を試してみましたが、うまくいかないようで、グラフ間で一定にして固定したいと思います。

ありがとう

編集: for 2) すべてのグラフィックに同じ数のクラスが含まれるようにゼロを追加できることはわかっていますが、例を簡単にするために削除した for ループでプロットしているため、別の方法を使用したいと思います可能であれば、それを行います。再度、感謝します

4

2 に答える 2

1

おそらく、各プロットのデータを別々のベクトルに保持したのは、あなたの例のためだけでした. いずれにせよ、場所の数がはるかに多い場合、すぐにワークスペースが小さなベクトルで雑然としてしまいtablebarplot何回も呼び出す必要があります。

baseR 関数を使用してプロットするか、またはggplot. さらに、各プロットで各場所の同じクラスのセットが使用されている場合、つまりカウントがゼロの RSSI クラスも含まれている場合、異なる場所間で異なるレベルの RSSI のカウントを比較する方が簡単かもしれません。場所全体で同じ y 軸のスケールを使用することもできます。これは小さな例ですggplot

library(ggplot2)

# create a data frame with the data in your vectors
# 'x' is the value, and 'loc' the location of each registration
df <- data.frame(x = c(rep(10, 6), rep(4, 32),
                       rep(9, 6), rep(10, 32), rep(11, 4),
                       rep(10, 6),
                       rep(10, 3), rep(9, 3), rep(8, 5)),
                 loc = c(rep("a", 6+32), rep("b", 6+32+4), rep("c", 6), rep("d", 3+3+5)))

# plot using geom_bar, which default counts the cases for each level of  - no need for 'table'
ggplot(data = df, aes(x = factor(x))) +
  geom_bar() +
  facet_wrap(~ loc)

ここに画像の説明を入力

于 2013-09-22T12:34:43.900 に答える
0

xlimで説明されているandylim引数を見てください?barplot

barplot(a,  main=main[1], xlab='RSSI', xlim=c(0, 4), ylim=c(0, 32))
barplot(b,  main=main[2], xlab='RSSI', xlim=c(0, 4), ylim=c(0, 32))
barplot(c,  main=main[3], xlab='RSSI', xlim=c(0, 4), ylim=c(0, 32))
barplot(d,  main=main[4], xlab='RSSI', xlim=c(0, 4), ylim=c(0, 32))

ここに画像の説明を入力

(xlimそしてwidthお互いに影響し合う。)

于 2013-09-22T08:39:00.187 に答える