Как изменить элементы граба гистограммы, чтобы они были заполнены градиентом? - PullRequest
0 голосов
/ 09 января 2019

Для простой гистограммы, сгенерированной с помощью 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"))

Кто-нибудь знает, почему гробы не модифицируются в первом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...