1. ホーム
  2. r

[解決済み] "エラーです。Rでテーマの書式を保存する際に「Don't know how to add RHS to the theme object」(テーマオブジェクトにRHSを追加する方法がわかりません)と表示されます。

2022-03-11 04:54:19

質問

この"が出る。 Error: Don't know how to add RHS to a theme object Rで以下のテーマフォーマットを保存しようとすると、" が表示されます。

# my_theme
my_theme <- theme(plot.caption=element_text(size=20, vjust = 0.55,
hjust = 0.99, colour = "black", family = "Eurostile"),
plot.background = element_rect(fill = "#DCDCDC"),
panel.background = element_rect(colour = "#DCDCDC"),
axis.text = element_text(colour = "black", size = 20)) +
labs(caption="Graphics: XYZ\nSource: ABC")

エラーメッセージが表示されるのですが?

ありがとうございました。

解決方法は?

こんにちは、stackoverflow へようこそ。テーマ呼び出しの中でラベルを変更することはできませんし、ラベル付きのテーマを保存することもできないので、そのようなエラーが発生します。これは labs() がテーマでないために起こります。テーマを保存する前に、ggplot はテーマであるかどうかをチェックし、テーマでない場合はこのエラーを返します。

is.theme(labs(caption="Graphics: XYZ\nSource: ABC"))
[1] FALSE

テーマを保存してから、ラベルを別途追加してください。

my_theme <- theme(plot.caption=element_text(size=20, vjust = 0.55,
                  hjust = 0.99, colour = "black", family = "Eurostile"),
                  plot.background = element_rect(fill = "#DCDCDC"),
                  panel.background = element_rect(colour = "#DCDCDC"),
                  axis.text = element_text(colour = "black", size = 20))

# assuming you plot is saved as p

p + my_theme + labs(caption="Graphics: XYZ\nSource: ABC")

これでテーマが保存され、テーマを追加するときにプロットにラベルを追加することができます。また、ggplot や geom などの呼び出しで、プロットオブジェクト p にラベルを保存することもできます。