web-dev-qa-db-ja.com

Ggplot2の中央プロトコルのタイトル

こんにちは、この単純なコード(および今朝からのすべての私のスクリプト)は私にggplot2の中心から外れたタイトルを与え始めました

Ubuntu version: 16.04

R studio version: Version 0.99.896

R version: 3.3.2

GGPLOT2 version: 2.2.0

私はこれを試すために今朝上記のものを新しくインストールしました....

dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)

# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people")

enter image description here

191

ggplot 2.2.0のリリースニュースから: "メインのプロットタイトルは、字幕でよりうまく機能するように左揃えになっています"plot.title?theme引数も参照してください: "デフォルトで左揃え"。

@J_Fで指摘されているように、タイトルの中央にtheme(plot.title = element_text(hjust = 0.5))を追加することができます。

ggplot() +
  ggtitle("Default in 2.2.0 is left-aligned")

enter image description here

ggplot() +
  ggtitle("Use theme(plot.title = element_text(hjust = 0.5)) to center") +
  theme(plot.title = element_text(hjust = 0.5))

enter image description here

254
Henrik

Henrik による回答)で述べたように、タイトルはデフォルトでggplot 2.2.0から左寄せされています。タイトルをこれをプロットに追加することで中央に配置できます。

theme(plot.title = element_text(hjust = 0.5))

しかし、たくさんのプロットを作成する場合は、どこにでもこの行を追加するのは面倒です。それからggplotのデフォルトの振る舞いを変更することもできます。

theme_update(plot.title = element_text(hjust = 0.5))

この行を実行すると、その後作成されるすべてのプロットはデフォルトとしてテーマ設定plot.title = element_text(hjust = 0.5)を使用します。

theme_update(plot.title = element_text(hjust = 0.5))
ggplot() + ggtitle("Default is now set to centered")

enter image description here

元のggplot2のデフォルト設定に戻すには、Rセッションを再開するか、デフォルトのテーマを選択します。

theme_set(theme_gray())
104
Stibu