2017-02-02 3 views
1

С помощью следующего минимального примера в R (Markdown) можно выбрать между двумя различными свойствами топоизона и нарисовать реактивно другую буклетную карту choropleth в соответствии с выбором входной панели.Реактивный выбор json-свойства в R для листовки без блестящего

Можно ли это сделать без блестящего?

Я проверил перекрестные помехи и реагировалR, но я не могу найти способ сделать это без блестящего.

--- 
output: html_document 
runtime: shiny 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r, echo=FALSE} 
library(leaflet) 
library(leaflet.extras) # devtools::install_github('bhaskarvk/leaflet.extras') 

topojson <- readr::read_file('https://rawgit.com/TrantorM/leaflet-choropleth/gh-pages/examples/basic_topo/crimes_by_district.topojson') 

inputPanel(
    selectInput("prop", label = "Property:",choices = c('incidents','dist_num'), selected = 'incidents') 
) 

renderLeaflet({ 
    property = input$prop 
    leaflet() %>% 
    setView(-75.14, 40, zoom = 11) %>% 
    addProviderTiles("CartoDB.Positron") %>% 
    addGeoJSONChoropleth(
    topojson, 
    valueProperty =property 
) 
}) 
``` 
+0

Разве это не то, что слои предназначены для листовки? – TimSalabim

+0

@TimSalabim В представленном примере набор данных topojson не перезагружается, и геометрия слоя не изменяется. С помощью 'inputPanel' я просто изменяю базу свойств для choropleth map. Функция 'addGeoJSONChoropleth()' просто пересчитывает цвета заливки. Этот пример работает, но он нужен блестящий. Я бы хотел сделать это без блестящего. –

+0

Я не думаю, что вы можете получить это с простым R. Ему, по-моему, нужен JavaScript или блестящий, но я могу ошибаться – TimSalabim

ответ

0

проверить данные формы, например. на http://rpubs.com/bhaskarvk/topojsonv2. Добавьте два diff choropleths, используя те же данные, но свойство diff.

+0

Благодарим вас за предложение. Это не совсем то, что я ищу. Мне нужно выбрать dynamic.properties динамически, потому что в моем файле geojson есть до 20 или даже больше свойств. Представьте, что у вас есть несколько измерений окружающей среды в таких районах, как NO, NO2, CO, CO2, SO2 и другие, и вы хотите показать концентрацию с помощью карты choropleth. Наконец, я хочу рассчитать долю двух газов, которые можно свободно выбирать из двух входных панелей. –

+0

Я предполагаю, что расширение пакета перекрестных помех с панелью ввода может выполнить эту работу. –

+0

Перекрестный разговор предназначен для выбора отдельных точек данных, а не для выбора свойств объекта. кроме того, я сомневаюсь, что перекрестные разговоры смогут поддерживать данные GeoJSON, как это реализовано сейчас. –

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