Проблемы с панелью.границы в ggplot

Я хотел бы сделать границу моих участков определенным цветом, отличным от черного. Я замечаю, что если я установил тему по умолчанию в theme_bw (), используя:

theme_set(theme_bw())

что я могу установить границу в цвет, который я хочу использовать

theme(panel.border = element_rect(color="darkred", size=0.5, linetype="solid").

это, кажется, работает нормально. Граница каждой панели, будь то граненый сюжет или один сюжет, принимает "темный" цвет, а остальная часть сюжета такая же, как и до того, как я изменил панель.граница.

однако, если я используйте другую тему по умолчанию, скажем theme_gray () или theme_classic (), затем граница изменяется, но содержимое каждого из фасетов стирается (полностью белый).

любая идея, что вызывает эту разницу в поведении или что я могу сделать, чтобы это исправить? Я хотел бы использовать theme_gray() и поместить тонкую цветную линию вокруг границы каждой грани.

1 ответов


страница помощи theme() говорит, что panel.borded= This should be used with fill=NA потому что он покрывает панели.

на theme_bw() уже panel.border = element_rect(fill = NA,colour = "grey50"), поэтому при использовании вашего заявления изменяется только цвет и заливка остается как NA.

на theme_grey() и theme_bw() здесь panel.border = element_blank() поэтому, когда вы добавляете свое заявление,color= и fill= изменены, потому что ранее этот элемент был пустым и значение по умолчанию для rect и fill="white" (по крайней мере для theme_grey()).

использовать

+ theme(panel.border = element_rect(fill=NA,color="darkred", size=0.5, 
                                    linetype="solid"))