2013-06-17 3 views
11

Я хочу, чтобы мои ggplots на R Shiny Server были прозрачными. Мой ui.R для черчения выглядит следующим образом:R Shiny: Удаление фона ggplot2, чтобы сделать его прозрачным

plotOutput("malPie", width="95%") 
в server.R

моя функция зарисовки выглядит следующим образом:

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() 
    )) 

и где он называется:

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") 

Но У графика все еще есть белый фон, и я хочу, чтобы он был прозрачным, а не белым. Как мне это достичь? Я прикрепил изображение со стрелкой, показывающей сюжет. My shiny server application. Note the pie chart has a white background and I want it to be transparent

Как изменить этот фон? Пожалуйста, помогите мне.

+2

'renderPlot' предполагает, что вы можете передать цвет фона на устройство PNG, что блестящие, похоже, использует. Цвет фона по умолчанию зависит от устройства в R, IIRC pdf и png, имеют разное значение по умолчанию. – baptiste

+0

просто хотел упомянуть, что из того, что я вижу на скриншоте, ваше блестящее приложение выглядит очень красиво! Является ли код открытым исходным кодом? Я всегда в поиске сложных блестящих приложений. – Beasterfield

+2

Перекрестная проводка не очень приветствуется: https://groups.google.com/forum/?fromgroups#!topic/shiny-discuss/fGUYvPYoiPE –

ответ

18

Как @baptiste указано, вы также должны пройти bg="transparent" к renderPlot вызову:

renderPlot({ 
    ... 
}, bg="transparent") 

 Смежные вопросы

  • Нет связанных вопросов^_^