[解決済み] ggplot geom_text フォントサイズ制御
2022-03-01 08:06:45
質問
の棒グラフのラベルのフォントを10に変えようとしたのですが、どうすればいいですか?
ggplot2
というような方法で
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))
はラベルに適用されないのですか?
また、なぜ
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() と theme(text=element_text()) で 10 の大きさが違うのはなぜですか?
そうですね、違いますね。ざっと手作業で確認したところ、以下のように~(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: 複数行の ggplot2 コマンドで「単項演算子エラー」が発生する。
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み】数学関数への非数値引数
-
[解決済み】ggplotの線幅を変更するには?
-
[解決済み] テスト
-
[解決済み】エラー。Rの'break'の数が無効
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】 colMeans(x, na.rm = TRUE) のエラー : KNN分類では 'x' は数値でなければならない
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】Rで「中断されたプロミスの評価を再開する」という警告を回避する
最新
-
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:関数に有限な'ylim'値が必要
-
[解決済み] promise already under evaluation: recursive default argument reference or earlier problems?
-
[解決済み】knitrのドキュメントでinstall.packagesが失敗する。"ミラーを設定せずにCRANを使おうとしている"
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】lis[[i]]のエラー:1つ未満の要素を選択しようとした場合
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み] 因子を日付形式に変換するにはどうすればいいですか?
-
[解決済み】Rはプロットするが、アブラインを描画しない