2013-01-06 1 views
18

Mam następujący typ działki i chcę zachować każdy tekst paska powyżej pojedynczego pola aspektu jako "tytuł" sortowania, ale nie ma domyślnego szarego tła i czarnego obramowania wokół strip.background. Koloruję biały, który jest zbliżony do tego, co chcę, ale chciałby, aby dolna krawędź strip.background lub górna krawędźbyła czarna.Usuń pasek tła zachowaj granicę panelu

enter image description here

library(ggplot2) 

ggplot(mtcars, aes(mpg, hp)) + geom_point() + 
    facet_wrap(~carb, ncol = 3) + theme_bw() + 
    theme(panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     strip.background = element_rect(colour="white", fill="white"), 
     panel.border = element_rect(colour = "black")) 

Odpowiedz

27

Jeśli ustawisz element_blank() dla strip.background i zachować element_rect(colour="black") dla panel.border następnie górną krawędzią panel.border będzie czarny.

ggplot(mtcars, aes(mpg, hp)) + geom_point() + 
    facet_wrap(~carb, ncol = 3) + theme_bw() + 
    theme(panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     strip.background = element_blank(), 
     panel.border = element_rect(colour = "black")) 

enter image description here

+0

Idealne będę akceptują jak najszybciej min. czas na akceptację jest wyższy. Dziękuję Ci. –

5

Ustawianie panel.border może pokryć wykres chyba też dodać fill=NA do panel.border:

theme(panel.border = element_rect(fill = NA, colour = "black")) 

Można również użyć:

theme(panel.background = element_rect(fill = NA, color = "black") 

source (sekcja „Pane l Atrybuty ")

2

Można spróbować:

strip.background = element_rect(colour=NA, fill=NA), 
panel.border = element_rect(fill = NA, color = "black"))