Для простой гистограммы, сгенерированной с помощью ggplot2
, я хочу, чтобы столбцы были заполнены градиентом, а не одним цветом.
Это можно сделать, изменив элементы grob баров с помощью пакета gridSVG, как описано здесь . Я изменил гроб, но в сохраненном файле нет градиентной заливки баров.
library(ggplot2)
library(gridSVG)
ggplot(mtcars) + geom_bar(aes(x = gear))
grid.force()
grid.ls()
grid.gradientFill(gPath("layout", "panel", "geom_rect.rect"),
gradient = linearGradient(col = c("red", "blue")),
grep = TRUE, redraw = TRUE, strict = TRUE, group = TRUE)
grid.export(here("gradient.svg"))
График в сохраненном файле имеет обычные серые полосы по умолчанию.
Я также пытаюсь изменить grobs с помощью простого grid.edit
, который хорошо работал:
library(ggplot2)
library(gridSVG)
ggplot(mtcars) + geom_bar(aes(x = gear))
grid.force()
grid.ls()
grid.edit(gPath("layout", "panel", "geom_rect.rect"),
gp = gpar(fill = "red"),
grep = TRUE)
grid.export(here("gradient.svg"))
Кто-нибудь знает, почему гробы не модифицируются в первом случае?