ggplot2を使用して、スタックされたバープロットのデータフレームの順序を管理します

セバスチャン・フォン・ロッツ

次のデータフレームとggplotを使用しています...

sample ="BC04"
df<- data.frame(Name=c("Pseudomonas veronii", "Pseudomonas stutzeri", "Janthinobacterium lividum", "Pseudomonas viridiflava"),
                 Abundance=c(7.17, 4.72, 3.44, 3.33))

ggplot(data=df, aes(x=sample, y=Abundance, fill=Name)) +
  geom_bar(stat="identity")

...次のグラフを作成します

棒グラフ

「geom_bar(stat = "identity")」は「identity」に設定されていますが、データフレーム内の順序は無視されます。存在比に基づいてスタック順序を取得したい(昇順で一番上のパーセンテージが最も高い

akrun

以前は、に渡された文字列ggplotはで評価されますaes_string(現在は非推奨です)。ここで、文字列をsymbolに変換し、評価します(!!

library(ggplot2)
ggplot(data=df, aes(x= !! rlang::sym(sample), y=Abundance, fill=Name)) +
  geom_bar(stat="identity")

または別のオプションは .data

ggplot(data=df, aes(x= .data[[sample]]), y=Abundance, fill=Name)) +
  geom_bar(stat="identity")

更新

プロットを確認すると、OPが 'sampleという名前の列を作成した可能性があります。その場合、「Abundance」の終了順序にreorder基づいた「Name desc

df$sample <- "BC04"
ggplot(data = df, aes(x = sample,  y = Abundance, 
  fill = reorder(Name, desc(Abundance)))) + 
       geom_bar(stat = 'identity')+ 
       guides(fill = guide_legend(title = "Name"))

-出力

ここに画像の説明を入力してください


または別のオプションは、「name」を変換することであるfactorlevelsとして挙げるunique「名前」の要素(データは既に「豊富」の降順に配置されているように)

library(dplyr)
df %>%
  mutate(Name = factor(Name, levels = unique(Name))) %>% 
  ggplot(aes(x = sample, y = Abundance, fill = Name)) +
     geom_bar(stat = 'identity')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rのggplot2を使用して、ビン化されたクラスの連続ラスターデータをプロットします

分類Dev

データフレームの列をループして、ggplot2でプロットを作成します

分類Dev

ggplot2を使用して、指定されたx値でデータフレームの行ごとに線をプロットする

分類Dev

ggplot2は、グループ化されたデータフレームから最後の変数のみをプロットします

分類Dev

ggplot2の特定のチャート内のスタックバーの順序を変更します

分類Dev

データフレームのリストをggplot2にプロットします

分類Dev

ggplot2を使用したRのスタックバープロット

分類Dev

ggplot2のバーのプロット順序を変更します

分類Dev

データ属性を使用してネストされたリストの順序をドラッグアンドドロップします

分類Dev

角括弧を使用したデータフレームセット値は、渡されたデータフレームの順序に従いません

分類Dev

指定されたインデックスレベルと並べ替え順序で、データフレームをスタックして連結します

分類Dev

ggplotを使用してデータフレームのすべての行をプロットします

分類Dev

ggplot2-スタックされたバープロットの `geom_rect`の色を変更します

分類Dev

Rのggplot2のスタックされたバープロットに水平線を追加し、凡例に表示します

分類Dev

ggplot2を使用してプロットするための関数を作成し、関数にデータフレーム、x、およびyを提供します。軸を正しい方法で参照するにはどうすればよいですか?

分類Dev

R:ggplot2を使用してバープロットのビニングされたデータを平滑化する

分類Dev

ggplot2を使用した生の値[2つのデータフレーム]のグループ化されたドットプロットを含むグループ化された棒グラフ

分類Dev

ggplot2を使用して、スタックされたバープロットで上位3つのエントリのみを表示し、残りを「その他」として表示します

分類Dev

パンダデータフレームを使用したボケプロットの日付順序

分類Dev

新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

分類Dev

ggplot2でforループを使用して、データフレーム内に複数のグラフをプロットする

分類Dev

ループを使用してRのggplot2を使用し、同じプロット内の同じデータフレームから複数のxyプロットを生成し、対応する凡例を表示します

分類Dev

ggplot2を使用して、データをサブセット化し、折れ線グラフに2つの変数をプロットします。

分類Dev

ggplot2を使用したピラミッドプロットの順序をデータセットの順序に変更するにはどうすればよいですか?

分類Dev

海生まれのバープロットを使用して、ワイドフォームのデータフレームをプロットする

分類Dev

pandasデータフレームを使用して、ソートされた順序でランクを出力する

分類Dev

インデックス番号の設定された順序でデータフレーム行を再配置します

分類Dev

ggplot2を使用して2つのデータフレームから単一のプロットを作成する方法

分類Dev

Plotly Express:px.bar()を使用してスタックされていないデータフレームをプロットするときのエラー

Related 関連記事

  1. 1

    Rのggplot2を使用して、ビン化されたクラスの連続ラスターデータをプロットします

  2. 2

    データフレームの列をループして、ggplot2でプロットを作成します

  3. 3

    ggplot2を使用して、指定されたx値でデータフレームの行ごとに線をプロットする

  4. 4

    ggplot2は、グループ化されたデータフレームから最後の変数のみをプロットします

  5. 5

    ggplot2の特定のチャート内のスタックバーの順序を変更します

  6. 6

    データフレームのリストをggplot2にプロットします

  7. 7

    ggplot2を使用したRのスタックバープロット

  8. 8

    ggplot2のバーのプロット順序を変更します

  9. 9

    データ属性を使用してネストされたリストの順序をドラッグアンドドロップします

  10. 10

    角括弧を使用したデータフレームセット値は、渡されたデータフレームの順序に従いません

  11. 11

    指定されたインデックスレベルと並べ替え順序で、データフレームをスタックして連結します

  12. 12

    ggplotを使用してデータフレームのすべての行をプロットします

  13. 13

    ggplot2-スタックされたバープロットの `geom_rect`の色を変更します

  14. 14

    Rのggplot2のスタックされたバープロットに水平線を追加し、凡例に表示します

  15. 15

    ggplot2を使用してプロットするための関数を作成し、関数にデータフレーム、x、およびyを提供します。軸を正しい方法で参照するにはどうすればよいですか?

  16. 16

    R:ggplot2を使用してバープロットのビニングされたデータを平滑化する

  17. 17

    ggplot2を使用した生の値[2つのデータフレーム]のグループ化されたドットプロットを含むグループ化された棒グラフ

  18. 18

    ggplot2を使用して、スタックされたバープロットで上位3つのエントリのみを表示し、残りを「その他」として表示します

  19. 19

    パンダデータフレームを使用したボケプロットの日付順序

  20. 20

    新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

  21. 21

    ggplot2でforループを使用して、データフレーム内に複数のグラフをプロットする

  22. 22

    ループを使用してRのggplot2を使用し、同じプロット内の同じデータフレームから複数のxyプロットを生成し、対応する凡例を表示します

  23. 23

    ggplot2を使用して、データをサブセット化し、折れ線グラフに2つの変数をプロットします。

  24. 24

    ggplot2を使用したピラミッドプロットの順序をデータセットの順序に変更するにはどうすればよいですか?

  25. 25

    海生まれのバープロットを使用して、ワイドフォームのデータフレームをプロットする

  26. 26

    pandasデータフレームを使用して、ソートされた順序でランクを出力する

  27. 27

    インデックス番号の設定された順序でデータフレーム行を再配置します

  28. 28

    ggplot2を使用して2つのデータフレームから単一のプロットを作成する方法

  29. 29

    Plotly Express:px.bar()を使用してスタックされていないデータフレームをプロットするときのエラー

ホットタグ

アーカイブ