ggplot2パッケージ(既に累積データ)でバープロットにプロットされるいくつかの値を含むデータの表があります。R ggplot2と結合された棒グラフ:ドッジと積み重ね
period,amount,a1,a2,b1,b2,h1,h2,h3,h4
J,18.1,30,60,40,60,15,50,30,5
K,29,65,35,75,25,5,50,40,5
P,13.3,94,6,85,15,10,55,20,15
N,21.6,95,5,80,20,10,55,20,15
最初の列(期間)は地質時代である:
データフレーム「埋蔵量」のデータは(簡体字)形状を有しています。これは、x軸になり、私はそれに余分な秩序を持たないために必要なので、私は、コマンド
reserves$period <- factor(reserves$period, levels = reserves$period)
で適切な因子ラベルを用意し
コラム「量」とは、y軸としてプロットするメインカラム(ありますそれは各時代の炭化水素のパーセンテージですが、何百万トンもの絶対値もあります。したがって、基本的なプロットは次のコマンドによって呼び出されます:
ggplot(reserves,aes(x=period,y=amount)) + geom_bar(stat="identity")
しかし、ここに質問があります。同じ棒グラフに他の値a1-a2、b1-b2、h1-h4をプロットする必要があります。これらの値は、各文字のパーセント値です(例:a1 = 60、a2 = 40、b1-b2と同じ、h1-h4の場合も100になります)。したがって、値はa1- a2をxの各値(積み重ねられた棒グラフ)に比例して分割する色として、b1-b2の値に同じ値を必要とするので、各期間に2つの隣接する列(グループ化された棒グラフ)次に、値h1〜h4の3番目の列が積み重ねられた棒グラフとしても、3番目の列として、または1番目の列の上にずらされたバープロットとして必要です。
したがって、レイアウト私は
:次のようになります最初にパッケージreshape2でデータを再作成し、geom_bar()でposition = "dodge"またはposition = "fill"というオプションを使用する必要があることを知りましたが、ここではその組み合わせです。そして3番目の棒グラフ(値h1〜h4の場合)は固定高さの "積み重ねられたパーセント"表示を必要とするようです。
プロットするデータをより直感的に扱うパッケージはありますか?私たちは変数ai、bi、hiをプロットしたいと宣言しています。
プログラミングの面白い@Brianです。私は今、同じスマートな方法で凡例(ガイド)を組み合わせる方法はありますか? '+ガイド(fill ="凡例 "、アルファ="凡例 ")' をデフォルトとして追加し、1つは塗りつぶし、もう1つはアルファグラデーション(lett1とnum変数このコードで)。しかし、もしこれらのバーを一緒にして対応させたいのであれば?すなわち、a1-a2(赤ピンク、書き込みはa1が砕け、a2は炭酸塩)、2-nd:b1-b2(緑 - 薄緑)、最後のh1-h4ライトブルーに)、プロットのように? – astrsk