[解決済み] ggplot geom_text のフォントサイズ制御
質問
の棒グラフのラベルのフォントを10に変更しようとしました。
ggplot2
の棒グラフのラベルのフォントを10に変更しようとしたのですが、このようなことをして
ggplot(data=file,aes(x=V1,y=V3,fill=V2)) +
geom_bar(stat="identity",position="dodge",colour="white") +
geom_text(aes(label=V2),position=position_dodge(width=0.9),
hjust=1.5,colour="white") +
theme_bw()+theme(element_text(size=10))
ggsave(filename="barplot.pdf",width=4,height=4)
のように表示されますが、出来上がった画像は棒グラフのラベルのフォントサイズが超大きくなっています。
そこで、私は
geom_text()
をこうして
geom_text(size=10,aes(label=V2),position=position_dodge(width=0.9),
hjust=1.5,colour="white")
ラベルのフォントがさらに大きくなりました...
サイズを変更するには
geom_text
の中のサイズを 3 のようなものに変更すると、軸ラベルと同様にフォント 10 のように見えます。
どうなっているんだろう?は
theme(text=element_text(size=10))
はラベルに適用されないのでしょうか?
でなぜ10というサイズなのか?
geom_text()
のサイズと異なるのは
theme(text=element_text())
?
どのように解決するのですか?
テキスト/ラベルのサイズを変更するためのオプションをいくつか紹介します。
library(ggplot2)
# Example data using mtcars
a <- aggregate(mpg ~ vs + am , mtcars, function(i) round(mean(i)))
p <- ggplot(mtcars, aes(factor(vs), y=mpg, fill=factor(am))) +
geom_bar(stat="identity",position="dodge") +
geom_text(data = a, aes(label = mpg),
position = position_dodge(width=0.9), size=20)
は
size
の中に
geom_text
の大きさを変更します。
geom_text
ラベルの大きさを変更します。
p <- p + theme(axis.text = element_text(size = 15)) # changes axis labels
p <- p + theme(axis.title = element_text(size = 25)) # change axis titles
p <- p + theme(text = element_text(size = 10)) # this will change all text size
# (except geom_text)
この場合 また、geom_text() の 10 のサイズが theme(text=element_text()) のそれと異なるのはなぜでしょうか?
はい、異なっています。ざっと手作業で確認したところ、~(14/5)の比率のようです。
geom_text
のサイズに対して
theme
のサイズに変更します。
ですから、均一なサイズのための恐ろしい修正は、この比率で拡大縮小することです。
geom.text.size = 7
theme.size = (14/5) * geom.text.size
ggplot(mtcars, aes(factor(vs), y=mpg, fill=factor(am))) +
geom_bar(stat="identity",position="dodge") +
geom_text(data = a, aes(label = mpg),
position = position_dodge(width=0.9), size=geom.text.size) +
theme(axis.text = element_text(size = theme.size, colour="black"))
もちろん、これでは なぜなのか? を説明することができず、面倒です(もっと賢明な方法があると思います)。
関連
-
R - よくあるエラーとその原因 - 注意事項
-
R - ユークリッド距離の計算を簡単にする方法
-
Rのexpand.grid()コマンド
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] リストをデータフレームに変換する
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?
-
[解決済み] データフレームのカラムのデータ型を決定する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
R - ユークリッド距離の計算を簡単にする方法
-
Rの警告 "条件の長さが1より大きいので、最初の要素しか使えない "に対する解決策
-
[解決済み] "エラーです。Rでテーマの書式を保存する際に「Don't know how to add RHS to the theme object」(テーマオブジェクトにRHSを追加する方法がわかりません)と表示されます。
-
[解決済み] lm.fit(x,y,offset = offset, singular.ok,...) 0 非NAケースでboxcox式で計算するとエラーになる。
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み】自作関数を書くときにRの省略機能を使うには?
-
[解決済み】エラー:Rで関数が見つかりませんでした。