Как мне решить проблему перекрытия дат в блестящем приложении? - PullRequest
0 голосов
/ 03 апреля 2020

enter image description here enter image description here

Когда я выбираю дату для построения своих данных, она отображает все даты, в результате чего пузырьки на графике перекрытия. В моем файле ввода все даты находятся в одном столбце. Мой код следует ниже, может кто-нибудь решить эту проблему, пожалуйста?

Мой файл CSV находится в https://github.com/igorcobelo/covid19nodf/blob/master/data2.csv

library(tidyverse)
library(osmdata)
library(viridis)
library(htmlwidgets)
library(plotly)
library(ggplot2)
library(shiny)
library(lubridate)


data2<-read.table("data2.csv", header=T,sep=";")

data2 <- data2 %>%
    arrange(Casos) %>%
    mutate(name = factor(name, unique(name)), mytext = paste(
                                                        "RA: ", name, "\n", 
                                                        "Casos: ", Casos, sep="")) %>%
    mutate("data" = ydm(data))

datas <- unique(data2$data)


#ruas
streets <- getbb("Distrito Federal Brazil") %>%
            opq() %>%
            add_osm_feature(key = "highway", 
                            value = c("motorway", "primary", 
                          "secondary", "tertiary")) %>%
            osmdata_sf()

link<-tags$a(href="http://www.saude.df.gov.br/informativos-do-centro-de-operacoes-de-emergencia-coe/", "Boletins Epidemiologicos do Centro de Operacoes de Emergencia da Secretaria de Saude do Distrito Federal")


ui <- basicPage(

    tags$h1("Covid-19"),
    tags$h3("Mapa dos casos confirmados no DF"),
    hr(),
    dateInput("datas", "Data"),
    plotlyOutput("myplot"),
    tags$div(
        tags$p("Fonte:",link))
)
?tags

server <- function(input, output, session) {

    dat <- reactive(data2[1:input$data,])

    output$myplot <- renderPlotly({
        streets$osm_lines %>% 
            ggplot() + 
            geom_sf(inherit.aes = FALSE,
                    color = "#7fc0ff",
                    size = .4,
                    alpha = .8) + 
            coord_sf(xlim = c(-48.28579, -47.30839),
                     ylim = c(-16.05056, -15.50018),
                     expand = FALSE) + 
            theme_void() + 
            theme(legend.title = element_text(colour="white"), 
                  legend.text = element_text(colour="white"),
                  plot.background = element_rect(fill = "#282828")) + 
            geom_point(data = data2,aes(x=long, y=lat, size=Casos, color=Casos, text=mytext, alpha=0.5)) +
            scale_size_continuous(range=c(1,15)) + 
            scale_color_viridis(option="plasma") -> p

        ggplotly(p,tooltip="text")

        })
}



shinyApp(ui, server)
...