1

3 つのネットワークのいくつかのカテゴリの値を計算しました。ネットワークのこれらのパラメーターの違いを示すために、R で棒グラフを作成したいと思います。これまでのところ、x 軸にカテゴリ、y 軸にその値、各カテゴリに 3 つのバー (ネットワークごとに 1 つ) を使用してbarplot R 関数を使用してこれをプロットしました。

しかし今、私は他のすべてよりもはるかに高い値を 1 つ持っています。したがって、プロット全体をほぼ埋め尽くす 1 つの大きなバーがあるため、残りの部分の違いは細い線でしか表されないため、見ることができません。

私の考えは、y 軸の値を不規則なスケールでプロットすることでした。たとえば、半分は 0 から 300 までの値を表し、残りの半分は 300 から 3000 までの値を表します。これを行う方法はありますか? または、この問題を処理するための適切な代替アプローチはありますか? 対数をプロットすることも考えましたが、残念ながら負の値もあります。

4

1 に答える 1

0

不規則なスケールは良い計画ではないことをお勧めします.チャートの閲覧者を混乱させると思います. 代わりに、このlayout()関数を使用して、水平レイアウトで 3 つの個別の棒グラフをプロットすることができます。したがって、各カテゴリは、独自のスケールを持つ独自のプロットを持つことができます。

ただし、3000 に 1 本のバーがあり、他のすべてが 300 にある場合、それはあまり役に立ちません。その場合、y 軸の範囲を で手動で設定できますylim=c(min,max)。バーが画面からはみ出さないようにするには、単純なロジックを使用して、300 を超えるものを 300 などと定義します。次に、実際の値を示すテキスト ポイントをそこに置きます ( を使用するかtext、おそらく を使用しますarrow)。

これらのアイデアがあれば、1 つの値が他の値の 10 倍であるグラフは、実際には提示する価値がない可能性があることを示唆しています。お互いを比較してください」、「1が2と3よりもどれだけ大きいか見てください」になります。したがって、1 つのプロットで 9 つすべてを実行しない限り、1 つのバーが巨大で 2 つが小さい場合でも、大した問題にはならない可能性があります (これにより、他の関連する比較が台無しになります)。したがって、 を使用してそれらを分割するlayout()と、それほど大きな問題にはなりません。

于 2012-09-12T15:53:06.453 に答える