内容简介:Using dplyr package latitude and longitude variables are renamed asShiny R file can be found
Map Bubble
Map bubble is type of map chart where bubble or circle position indicates geoghraphical location and bubble size is used to show differences in magnitude of quantitative variableslike population .
We will be using
Highcharter package to show earthquake magnitude and depth . Highcharter is a versatile charting library to build interactive charts, one of the easiest to learn and for shiny integration.About dataset
Dataset used here is from US Geological survey website of recent one week earthquake events. There are about 420 recorded observation with magnitude more than 2.0 globally. Dataset has 22 variables, of which we will be usingtime, latitude, longitude, depth, magnitude(mag) and nearest named place of event.
Shiny Application
This application has single app.R file and earthquake dataset. Before we start with UI function, we will load dataset and fetch world json object from highcharts map collection with hcmap function. See the app herelibrary(shiny) library(highcharter) library(dplyr) edata <- read.csv('earthquake.csv') %>% rename(lat=latitude,lon = longitude) wmap <- hcmap()
Using dplyr package latitude and longitude variables are renamed as lat and lon with rename verb. Column names are important.
ui
It has sidebar panel with 3 widgets and main panel for displaying map.- Two sliders , one for filtering out low magnitude values and other for adjusting bubble size.
- One select widget for bubble size variable. User can select magnitude or depth of earthquake event. mag and depth are columns in dataset.
- Widget output function highchartOutput for use in shiny.
ui <- fluidPage( titlePanel("MapBubble"), # Application title sidebarLayout( sidebarPanel( sliderInput('mag','Magnitude more than(Richter Scale)', min = 1,max = 6,step = 0.5,value = 0), selectInput('bubble','Bubble Size indicates',choices = c('Magnitude'= 'mag','Depth(in Km)' = 'depth')), sliderInput('bublesize','Adjust bubble Size',min = 2,max = 10,step = 1,value = 6) ), # Display a Map Bubble mainPanel( highchartOutput('eqmap',height = "500px") ) ) )
Server
Before rendering, we will filter the dataset within reactive context. Any numeric column that we want to indicate with bubble size should be named z. input$bubble comes from select widget.
renderHighchart is render function for use in shiny. We will pass the filtered data and chart type as mapbubble in hc_add_series function. Place, time and z variable are displayed in the tooltip with “ point ” format.
Sub-title is used to show no. of filtered observation in the map
server <- function(input, output) { data <- reactive(edata %>% filter(mag >= input$mag) %>% rename(z = input$bubble)) output$eqmap <-renderHighchart( wmap %>% hc_legend(enabled = F) %>% hc_add_series(data = data(), type = "mapbubble", name = "", maxSize = paste0(input$bublesize,'%')) %>% #bubble size in perc % hc_tooltip(useHTML = T,headerFormat='',pointFormat = paste('Location :{point.place} Time: {point.time} ',input$bubble,': {point.z}')) %>% hc_title(text = "Global Seismic Activity") %>% hc_subtitle(text = paste('No of obs:', nrow(data()),sep = '')) %>% hc_mapNavigation(enabled = T)%>% ) } # Run the application shinyApp(ui = ui, server = server)
Shiny R file can be found here at the github repository
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
反应式设计模式
Roland Kuhn、Brian Hanafee、Jamie Allen / 何品、邱嘉和、王石冲、林炜翔审校 / 清华大学出版社 / 2019-1-1 / 98.00 元
《反应式设计模式》介绍反应式应用程序设计的原则、模式和经典实践,讲述如何用断路器模式将运行缓慢的组件与其他组件隔开、如何用事务序列(Saga)模式实现多阶段事务以及如何通过分片模式来划分数据集,分析如何保持源代码的可读性以及系统的可测试性(即使在存在许多潜在交互和失败点的情况下)。 主要内容 ? “反应式宣言”指南 ? 流量控制、有界一致性、容错等模式 ? 得之不易的关于“什么行不通”的经验 ? ......一起来看看 《反应式设计模式》 这本书的介绍吧!