ここに示すように、プロットパネルとその背景の両方を塗りつぶして、グラデーションカラーリングでggplotを生成したいと思います。
ご覧のとおり、グラデーションの背景色は、プロット パネルとその背景の両方を含んでいます。現時点では、必要なソリューションの「概算」のみがわかっています。
library(ggplot2)
library(grid)
library(gridExtra)
reds <- c("#7B0664", "#E32219")
g <- rasterGrob(reds, width = unit(1, "npc"), height = unit(1, "npc"),
interpolate = TRUE)
ggplot(data = economics, aes(x = date, y = unemploy)) +
annotation_custom(g, xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf) +
geom_line( alpha=1, color = "white", size = 0.5 ) +
xlab("Years") + ylab("Unemployed [thousands]") +
theme(plot.background = element_rect(fill=reds[2]))
上記のコードを使用すると、プロット パネルは軸の境界内でグラデーション カラーになりますが、そのようなグラデーション カラーで背景全体に及ぶことはありません。theme(plot.background =...) は残りの背景を塗りつぶすことができますが、グラデーションの色付けを利用できないようです。さらに、プロットの背景全体に同じグラデーション カラーリングを適用する必要があることに注意してください。
任意の提案をいただければ幸いです。ありがとう。