2017-01-03 1 views
1

ggplot2plotly으로 작업합니다. 사용자가 플롯의 제목 표시를 선택하도록 허용해야합니다 (표시되거나 표시되지 않음).R - 음모를 사용하여 plot.title = element.blank()로 제목이 제거되지 않았습니다.

따라서 테마 기능을 ggplot2,보다 정확하게는 plot.title = element.blank()으로 사용합니다. ggplot2과 작동하지만 플롯 그래프로 플롯을 변환하면 제목이 계속 표시됩니다.

문제를 해결할 수있는 해결책 (labs() 기능 제거 제외)? plotly_build()의 임시 해결 방법일까요?

다음은 단순화 된 예입니다.

# Libraries and function 
library(ggplot2) 
library(plotly) 

CountPlotFunction <- function(MyData) 
{ 
    MyPlot <- ggplot(data = MyData, aes(x = MyData)) + 
    geom_bar(stat = "count", aes(fill = MyData)) + 
    scale_x_discrete(drop = FALSE) + 
    scale_fill_discrete(drop = FALSE) + 
    labs(title = "A title for my plot") + 
    ThemeByUser 
    return(MyPlot) 
} 

# Data 
CountryGroup <- c("Russia","Canada","Australia","Australia","Russia","Australia","Canada","Germany","Australia","Canada","Canada") 
df <- data.frame(CountryGroup) 

# Analysis 
ThemeByUser <- theme(plot.title = element_blank()) # or NULL if we want the title... 

ThePlot <- CountPlotFunction(MyData = df) 

print(ThePlot) # OK with ggplot2 
ggplotly(ThePlot) # NOK with plotly 
+0

'element_text (색상 = "# 00000000") '(제목의 색상에 0 알파). 좀 더 적합하다면'element_text (color = "# ffffff00")'로 만들 수 있습니다. – hrbrmstr

답변

1

plotly_build() 확실히 여기에 작동합니다

ThemeByUser <- theme(plot.title = element_blank()) # or NULL if we want the title... 

ThePlot <- CountPlotFunction(MyData = df) 

pb <- plotly_build(ThePlot) 

if(is.null(ThemeByUser)) { 
    pb$x$layout$title <- NULL 
} 

pb