Я работал с flexdashboard, созданным с помощью Rmarkdown, и у меня были проблемы с отображением нескольких графиков. После долгих испытаний я определил, что проблема color =
, которую я посылал на следующий график, вызывала проблему:
p1 <- plot_ly(coursetable2,
x = ~title,
color = ~open+enrolled,
y = ~percent,
type = 'bar',
name = 'Seats Taken',
text =~paste('Seats Taken: ', enrolled, '</br> Open Seats: ' , open))
p1
Переменные open
и enrolled
являются непрерывными числовыми значениями.
График сгенерирован нормально в RStudio, но не отображался в html-файле, созданном после того, как я связал файл.
Как ни странно, это также сделало график leaflet
в том же файле не отображаемым в конечном html-файле. Код leaflet
выглядит следующим образом:
mytext<-paste("City: ", maptable$name, "<br/>", "People: ",
maptable$val, "<br/>", sep="") %>%
lapply(htmltools::HTML)
pal<-colorNumeric(
palette = "viridis",
domain = maptable$val)
leaflet(maptable) %>%
addTiles() %>%
setView( lat=41.5, lng=-73 , zoom=8) %>%
addProviderTiles("OpenStreetMap.BlackAndWhite") %>%
addCircleMarkers(~long, ~lat,
fillOpacity = 0.7, color=~pal(val), radius=~sqrt(val)+5, stroke=FALSE,
label = mytext,
labelOptions = labelOptions( style = list("font-weight" = "normal",
padding = "3px 8px"), textsize = "13px", direction = "auto")
)
Предупреждение, которое я получаю, гласит:
textfont.color (пока) не поддерживает массивы данных
Когда я беру цветовой аргумент из приведенного выше кода для графика p1
, отображаются все мои графические элементы.
Если я определю палитру, как в приведенном ниже коде, все графики будут генерироваться нормально.
pal2<-colorNumeric(
palette="viridis",
domain=coursetable2$enrolled+coursetable2$open
)
p1<-plot_ly(coursetable2,
x = ~title,
showlegend=FALSE,
color = ~pal2(open+enrolled),
y = ~percent,
type = 'bar',
name = 'Seats Taken',
text =~paste('Seats Taken: ', enrolled, '</br> Open Seats: ' , open))
p1
Это решает проблему с цветом, которая у меня была, но я озадачен тем, почему передача аргумента цвета в исходном коде не удалась. И почему ОБА сюжеты терпят неудачу в этом случае. Является ли мое исправление идеальным решением для передачи непрерывной переменной в аргумент цвета для гистограммы?
Заранее спасибо!