[解決済み] ggplot2で対数カラースケールを行うビルトイン方法はありますか?
2023-04-10 12:43:31
質問
ビン密度プロットの例を示します。
library(ggplot2)
n <- 1e5
df <- data.frame(x = rexp(n), y = rexp(n))
p <- ggplot(df, aes(x = x, y = y)) + stat_binhex()
print(p)
<イグ
改行が対数間隔になるようにカラースケールを調整できればいいのですが、試しに
my_breaks <- round_any(exp(seq(log(10), log(5000), length = 5)), 10)
p + scale_fill_hue(breaks = as.factor(my_breaks), labels = as.character(my_breaks))
結果は
Error: Continuous variable () supplied to discrete scale_hue.
breaksは因子を期待しているようで(多分?)、カテゴリ変数を意識して設計されているのでは?
組み込みではない回避策があるので、回答として投稿しますが、ただ単に使い方に迷っているだけかもしれませんね。
scale_fill_hue
の使い方に迷いがあるのかもしれません。そして、私が見逃している明らかなものがあれば知りたいのです。
どのように解決するのですか?
はい、そうです。このように
trans
への引数は
scale_fill_gradient
を追加しました。これで、適切な凡例とカラースケール、そして簡潔な構文を持つソリューションが得られます。使用方法
p
を使い、質問から
my_breaks = c(2, 10, 50, 250, 1250, 6000)
:
p + scale_fill_gradient(name = "count", trans = "log",
breaks = my_breaks, labels = my_breaks)
<イグ
私のもうひとつの答えは、データのより複雑な関数に使うのがベストです。Hadleyのコメントに励まされ、私はこの答えを?scale_gradient
.
関連
-
Rでファイルを読み込む際に、そのようなファイルまたはディレクトリが見つかりません。
-
R LanguageError in hist.default() : 'x' は数値でなければなりません.
-
[解決済み] ggplot 2.0.0でのポイントサイズ
-
[解決済み] R:自然対数を使った方程式をnlsで使う
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] コマンドラインからRスクリプトを実行する
-
[解決済み】ggplot2 のデフォルトのカラーパレットをエミュレートする
-
[解決済み】RでCRANミラーを選択する方法
-
[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー
最新
-
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でcは何をするのですか?重複] [重複
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] テーブルをデータフレームに変換する方法
-
[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー