2013-06-17 14 views
11

Chcę, aby moje ggplots na R Shiny Server były przezroczyste. Moja ui.R do kreślenia jest następujący:R Shiny: Usuwanie tła ggplot2, aby było przezroczyste.

plotOutput("malPie", width="95%") 

w server.R moja funkcja kreślenia jest następujący:

c <- ggplot(dataFrame, aes(x=factor(nrow(dataFrame)),fill=graphX),environment=environment()) + geom_bar(width = 1) 
    print(c + coord_polar(theta = "y")+ xlab(xLabel)+ylab(yLabel)+ labs(fill=legendTitle)+ theme(
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank(), 
    panel.background = element_blank(), 
    plot.background = element_blank() 
    )) 

i gdzie to się nazywa:

sub <- data 
    sub <- subset(sub,sub$mal_tested=="1") 
    drawGraph("pie",sub,factor(sub$mal_tested_pos),"Malaria Tests Done",NULL,"Malaria Tested Positive","Malaria") 

Ale wykres renderowany nadal ma białe tło i chcę, aby był przezroczysty, a nie biały. Jak to osiągnąć? Załączam obraz ze strzałką pokazującą fabułę. My shiny server application. Note the pie chart has a white background and I want it to be transparent

Jak zmienić to tło? Proszę pomóż mi.

+2

'renderPlot' sugeruje, że można przekazać kolor tła do urządzenia png, który pojawia się przy użyciu błyszczące. Domyślny kolor tła zależy od urządzenia w R, IIRC pdf i png mają inną domyślną wartość. – baptiste

+0

chciałem tylko wspomnieć, że z tego, co widzę na zrzucie ekranu, twoja błyszcząca aplikacja wygląda bardzo ładnie! Czy kod jest open source? Zawsze szukam skomplikowanych, błyszczących aplikacji. – Beasterfield

+2

Odsyłacze nie są tak mile widziane: https://groups.google.com/forum/?fromgroups#!topic/shiny-discuss/fGUYvPYoiPE –

Odpowiedz

18

Jak @baptiste wskazane, należy również zdać bg="transparent" na wezwanie renderPlot:

renderPlot({ 
    ... 
}, bg="transparent") 
Powiązane problemy