ggRadar - Как изменить толщину линий графика и толщину линий сетки? - PullRequest
2 голосов
/ 03 октября 2019

Я использую функцию ggRadar из пакета ggiraphExtra, хотя у меня есть пара вопросов. А именно, как изменить толщину линии и фоновую толщину сетки.

Я пытался изменить толщину линии с помощью geom_line, но безрезультатно, поскольку она не взаимодействует со всеми линиями. Я пробовал использовать тему (axis.etc), но никак не могу взаимодействовать с линиями сетки (фоновые круги).

Вот очень простой пример:

library(ggiraphExtra)
library(ggplot2)

data = as.data.frame(rbind(c(7,12,17,9))) 

ggRadar(data, rescale = F, size=3)+
  ylim(0,20)+
  geom_line(size=2)

Любая помощьбудет принята с благодарностью.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 03 октября 2019

Мне кажется, что вы должны изменить элемент panel.grid, как я здесь, чтобы изменить размер:

 ggRadar(data, rescale = F, size=3)+
 ylim(0,20)+
 geom_line(size=1) + theme(panel.grid=element_line(size=2))
2 голосов
/ 03 октября 2019

Вы можете легко изменить линии сетки, используя panel.gridline.major в theme. Изменение толщины линий несколько сложнее, но все же возможно.

p <- ggRadar(data, rescale = F, size = 4) +
  ylim(0,20) +
  theme(panel.grid.major = element_line(size = 2))
plot_obj <- ggplot_build(p)
plot_obj$data[[1]]$size <- 2
grid::grid.newpage()
grid::grid.draw(ggplot_gtable(plot_obj))

Исходный график: original

Изменено (некрасиво, но доказывает суть).

new plot

...