[解決済み] ggplot2 で凡例を並べ替えるには?
2022-02-10 11:25:25
質問
ラベルのカテゴリ列とパーセントデータの量的列を持つ2列のデータフレームがある場合、以下を使用してアルファベット順ではなく値で棒グラフをソートするggplotを確実に作成することができます。
ggplot(data=df, aes(x=reorder(Label, Percent), y=Percent, fill=Label)) + geom_bar()
これは、テキストではなくパーセント値で棒グラフをソートするようにreorderに指示し、変化を見やすくするものです。
しかし、凡例を一致させることができません。代わりに、元のアルファベット順の値でソートされることに固執しています。その結果、凡例がチャートと一致しなくなり、混乱します。
StackOverflowなどで調べてみましたが、うまくいく修正方法は見つかりませんでした。何かアドバイスがあれば教えてください。
編集:リクエストに応え、本来はこのようなデータです。
Labels <- c("G", "G", "A", "C", "M", "B", "M", "G", "A","M")
Percent <- c("-0.241","-0.046", "-0.037", "-0.024", "-0.003","0.007","0.01","0.059","0.121", "0.152")
解決方法は?
最も簡単な方法は、データを並べ替えることです。
前に
プロットすることができます。を指定することで
reorder(()
内側
aes()
の場合、基本的にプロット部分にはその順序付きコピーを作成することになりますが、内部的には
ggplot
を、例えば凡例作成関数に渡すことができます。
これでうまくいくはずです。
df$Label <- with(df, reorder(Label, Percent))
ggplot(data=df, aes(x=Label, y=Percent, fill=Label)) + geom_bar()
を想定しています。
Percent
カラムは数値であり、因子や文字ではありません。これはあなたの質問から明確ではありません。今後、もしあなたが
dput(df)
を使用すると、クラスが明確になり、データをRにコピー&ペーストできるようになります。
関連
-
[解決済み】"置換する項目数が置換長の倍数でない "と表示されるのはなぜですか?
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】RでのMLEエラー:'vmmin'の初期値が有限でない
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み] lmer エラー: グループ化係数は観測数未満でなければならない
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
-
[解決済み】'NULL'型の非(リストまたはベクトル)に適用されるis.na()は何を意味するのか?
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"置換する項目数が置換長の倍数でない "と表示されるのはなぜですか?
-
[解決済み】R: 複数行の ggplot2 コマンドで「単項演算子エラー」が発生する。
-
[解決済み] Stataバージョン5-12の.dtaファイルではない
-
[解決済み】Rで「パッケージ'FILE_PATH'のインストールで終了ステータスが0でなかった」。
-
[解決済み】GLM解析での警告
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】forループを実行すると「要因のレベルセットが異なる」というエラーが発生する
-
[解決済み】dplyr: "Error in n(): 関数は直接呼ばれるべきではありません"
-
[解決済み】"object not interpretable as a factor "というエラーの意味は?[クローズド]
-
[解決済み】起動時にパーをデフォルト値にリセットする方法