Coder Social home page Coder Social logo

site_antigo's Introduction

covid19br.github.io

Repositório do site Observatório Covid-19 BR.

Aqui você encontra os códigos para calcular as projeções e gerar os gráficos, assim como os dados usados. Se for alterar qualquer coisa no repositório, siga o tutorial abaixo.

Sumário

Pré-requisitos
Instalação do R 3.6.3 e RStudio
Instalação das bibliotecas em R
Como baixar e executar
Criando novos gráficos
Atualizando e criando novas páginas em html

Pré-requisitos

Para rodar o programa, primeiro, clone o repositório em seu computador com git clone. Em seguida, serão necessárias instalações para que o programa compile.

Provavelmente você vai precisar instalar:

  • A versão 3.6.3 (atual) do R
  • Rstudio
  • Bibliotecas de R

Tutoriais e links estão disponíveis a seguir.

Instalação do R 3.6.3 e RStudio

Instruções de instalação do R podem ser encontradas aqui. É necessária a versão mais recente do R para executar o código. Se ja possui o R, verifique a versão com o comando

$ R --version

E atualize o R.

Para instalar o Rstudio, primeiro, entre aqui e baixe o Rstudio Desktop

Outras instruções caso a instalação não funcione

Instalação das bibliotecas em R

A instalação da maioria das bibliotecas se resolve com install.packages("package_name"), em R.Para instalar todas as bibliotecas necessárias, execute o arquivo "./_src/install_packages.R". São as bibliotecas a seguir:

packages <- c("ggplot2", 
        "tidyverse", 
        "knitr", 
        "plotly", 
        "tidyr", 
        "dplyr", 
        "widgetframe", 
        "rmarkdown", 
        "zoo", 
        "EpiEstim", 
        "lubridate", 
        "readr", 
        "svglite",
        "scales")
for (p in packages) if(!require(p, character.only=T)) install.packages(p)

Se por acaso precisar instalar novas bibliotecas, lembre-se de adicionar aqui e no arquivo.

Como baixar e executar

Clone o repositório na linha de comando. Dependendo do que será alterado (pagina de estados, municípios ou do país todo), o comando será diferente.

Caso queira executar as funções para o modelo referente ao brasil inteiro, execute

$ Rscript update.R

Se executar as funções para os modelos referentes ao município é o que você procura, execute

$ Rscript update_municipio.R --m SP

Se o que quer é executar as funções para os modelos referentes aos estados, execute

$ Rscript update_estado.R

Se quer executar todos ao mesmo tempo,

$ Rscript update_all.R

Alguns avisos aparecem após a execução, e ela demora um pouco. Espere terminar, e se não houver erros, os arquivos referentes aos gráficos em .html e .svg serão atualizados na pasta web, e podem ser vistos individualmente direto no navegador.

Criando novos gráficos em páginas já existentes

Após terminar de criar um gráfico novo, para que ele seja incluído no html, o primeiro passo é fazer com que ele seja transformado em imagem ".svg" e um código ".html" com ggplotly (que garante a interatividade do gráfico no site). Para isso, ele deve estar sendo plotado em um dos arquivos R plots.R (gráficos referentes ao Brasil todo) ou plots_municipio.R (gráficos referentes a todos os municipios).

Em um dos arquivos update.R (gráficos referente Brasil todo) ou update_municipio.R (referente a todos os municípios), adicione o nome do seu gráfico à lista de gráficos a serem renderizados:

## No arquivo de update em questão
plots.para.atualizar <- makeNamedList(..., seu.grafico)

IMPORTANTE: ele deve ser um ggplot. Caso seja uma análise para estado, enviar uma mensagem.

Adicionando novas modelagens

Caso você tenha um novo modelo a incluir, que gere uma nova página, crie um arquivo para fazer update do seu modelo, e inclua ele no arquivo update_all.R da forma

source("update_seumodelo.R")

Este arquivo de update deve conter as seguintes linhas de código, se os seus plots forem interativos:

## Data de Atualizacao
print("Atualizando data de atualizacao...")
file <- file("../web/last.update.seumodelo.txt") # coloco o nome do municipio?
writeLines(c(paste(now())), file)
close(file)

# Graficos a serem atualizados
plots.para.atualizar <- makeNamedList(plots.criados)
filenames <- names(plots.para.atualizar)
n <- length(plots.para.atualizar)

for (i in 1:n){
  graph.html <- ggplotly(plots.para.atualizar.municipio[[i]]) %>% layout(margin = list(l = 50, r = 20, b = 20, t = 20, pad = 4))
  graph.svg <- plots.para.atualizar[[i]] + theme(axis.text = element_text(size=11, family="Arial", face="plain"), # ticks
                                                           axis.title = element_text(size=14, family="Arial", face="plain")) # title
  filepath <- paste("../web/",filenames[i],sep="")
  saveWidget(frameableWidget(graph.html), file = paste(filepath,".html",sep=""), libdir="./libs") # HTML Interative Plot
  ggsave(paste(filepath,".svg",sep=""), plot = graph.svg, device = svg, scale= .8, width= 210, height = 142, units = "mm")
}

substituindo apenas o plots.criados pela lista dos plots que vão ser colocados na página.

Caso queira plots estáticos:

## Data de Atualizacao
print("Atualizando data de atualizacao...")
file <- file("../web/last.update.seumodelo.txt") # coloco o nome do municipio?
writeLines(c(paste(now())), file)
close(file)

# Graficos a serem atualizados
plots.para.atualizar <- makeNamedList(plots.criados)
filenames <- names(plots.para.atualizar)
n <- length(plots.para.atualizar)

for (i in 1:n){
  graph.svg <- plots.para.atualizar.municipio[[i]] + theme(axis.text = element_text(size=11, family="Arial", face="plain"), # ticks
                                                           axis.title = element_text(size=14, family="Arial", face="plain")) # title
  filepath <- paste("../web/",filenames[i],sep="")
  ggsave(paste(filepath,".svg",sep=""), plot = graph.svg, device = svg, scale= .8, width= 210, height = 142, units = "mm")
}

Suas imagenns serão geradas com o mesmo nnome que o plot leva no R.

Atualizando e criando novas páginas

O arquivo template.html é um bom ponto de partida para criação de novas páginas. Ele inclui as barras de navegação superiores e inferiores pré-fabricadas, bem como a estrutura principal do corpo.

Primeiro substitua os dados do trecho de código a seguir, que se encontra nas linhas 8 a 11.

<!-- TÍTULO E DESCRIÇÃO DA PÁGINA-->
<meta name="description"
  content="SUA DESCRIÇÃO AQUI">
<title>NOME DA SUA PÁGINA · Observatório Covid-19 BR</title>

Escolha também quais arquivos de CSS sua página vai usar, de acordo com o conteúdo. Para adicionar o arquivo, descomente a linha de código referente a ele. Os possíveis CSS se encontram nas linhas 19 a 24, no trecho

<!-- <link href="./css/tables.css?ver=2.00" rel="stylesheet"> -->
<!-- <link href="./css/toc.css?ver=2.00" rel="stylesheet"> -->
<!-- <link href="./css/midia.css?ver=2.00" rel="stylesheet"> -->
<!-- <link href="./css/email.css?ver=2.00" rel="stylesheet"> -->
<!-- <link href="./css/accordion.css?ver=2.00" rel="stylesheet"> -->
<!-- <link href="./css/charts.css?ver=2.00" rel="stylesheet"> -->

Os aquivos CSS: tables é o estilo para tabelas, o toc é para índices, o midia serve para calendários e listas, email serve para emails ofuscados (que não dá para clicar para evitar span de robôs), accordion serve para criar menus acordeão, e charts serve para estilo de gráficos. Uma pagina simples pode usar apenas o css global, que já está incluido no template.

A estrutura do site é composta por quatro principais grupos:

1. Barra Superior

A barra superior é o elemento flutuante que inclui o logo, o menu de estados e o menu de paginas do site.

Título

Inclua o título da página no trecho a seguir, na linha 73 a 79.

<!-- DESTAQUE -->
<div class="nav-item destaque" data-toggle="collapse" data-target="#navbarSupportedContent"
  aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  <a href="#">
    TITULO DA PÁGINA
  </a>
</div>

Adicionando itens no menu principal

Inclua os dados da página no código a seguir e use-o para substituir <!-- MENU.ITEM --> no arquivo .html:

<li class="nav-item">
  <a class="nav-link" href="./ITEM.html">ITEM</a>
</li>
<!-- MENU.ITEM -->

No arquivo .html do próprio item, o código deve ser o seguinte para correta indicação da página ativa:

<li class="nav-item active">
  <a class="nav-link" href="./ITEM.html">ITEM</a>
</li>
<!-- MENU.ITEM -->

Alterando o logo do observatório

Busque por <!-- OBSERV.LOGO.IMAGEM --> e substitua o conteúdo de src="" pelo arquivo .svg desejado.

2. Título Principal

Este grupo inclui o título principal da página e a data de atualização.

Alterando o título da página

Busque por <!-- PAGE.TITLE --> e substitua o conteúdo após <h1 class="display"> pelo título desejado.

3. Cards de conteúdo

Os cards armazenam todas as informações importantes do corpo da página. Conforme mais cards de conteúdo são adicionados sua disposição é atualizada automáticamente.

Criando um card

A estrutura básica de um card é formada por:

<!-- NEW.CARD -->

<!-- Identificador do card -->
<div class="card">
  <div class="card-body">        
    <!-- CONTEÚDO AQUI -->
  </div>
</div>

<!-- NEW.CARD -->

Cada card distinto deve conter um identificador distinto em <!-- Identificador do card --> para facilitar sua edição.

Basta adicionar os componentes desejados em <!-- CONTEÚDO AQUI --> de acordo com os códigos pré-fabricados a seguir:

1. Títulos dos cards

Títulos são identificados por <!-- CARD.HEADER --> Atenção! Títulos também devem ser inclusos no conteúdo do card.

1.1 Título com ícone

Modifique o ícone buscando por <!-- CARD.TITLE.ICON --> e substituindo NOME_DO_ARQUIVO.svg. O ícone deve ser uma imagem em .svg.

Modifique o título buscando por <!-- CARD.TITLE.TEXT --> e substituindo TITULO DO CARD

Modifique a descrição do card buscando por <!-- CARD.TITLE.DESCRIPTION --> e substituindo BREVE DESCRICAO

<!-- CARD.HEADER -->
<div class="media">
  <img src="./img/NOME_DO_ARQUIVO.svg" width=40px alt="DESCRIÇÃO ACESSÍVEL" class="card-icon"> <!-- CARD.TITLE.ICON -->
  <div class="media-body">
    <h5 class="card-title">TITULO DO CARD</h5> <!-- CARD.TITLE.TEXT -->
    <p class="card-text">BREVE DESCRICAO</p> <!-- CARD.TITLE.DESCRIPTION -->
  </div>
</div>

Use o site Iconfinder (https://www.iconfinder.com/p/coronavirus-awareness-icons) para encontrar ícone gratuitos em svg relacionados ao COVID-19. Importante: o nome do autor do ícone deve ser citado em Sobre.

1.2 Título sem ícone

Modifique o título buscando por <!-- CARD.TITLE.TEXT --> e substituindo TITULO DO CARD

<!-- CARD.HEADER -->
<h5 class="card-title mb-3">TITULO DO CARD</h5> <!-- CARD.TITLE.TEXT -->
2. Conteúdo

Existem múltiplos elementos de conteúdo que podem ser combinados livremente em um card:

2.1.1 Data de atualização (automatica)

Ao compilar o arquivo update.R a hora é atualizada automaticamente para cada página. Insira o código a seguir para exibir o horário da última atualização dos gráficos:

<!-- CARD.DATE -->
<small class="page-title-update updateDate">Última atualização: </small>

Para cada página, a seguinte função deve ser chamada em javascript com o nome do arquivo que contém a data de atualização como argumento:

updateDate('last.update');

A página deve incluir o script updateDate.js para correto funcionamento:

<script src="js/updateDate.js"></script>

Esse script já está incluido no template.

2.1.2 Data de atualização (manual)

Se necessário, modifique uma data de atualização manual buscando por <!-- CARD.DATE.MANUAL --> ou insira uma nova com o código a seguir:

<!-- CARD.DATE.MANUAL -->
<p class="card-date"><small>Última atualização: DD/MM/AAAA HH:MM</small></p>
2.2 Imagem estática com legenda

Modifique uma imagem estática e sua legenda buscando por <!-- CARD.IMAGE --> ou insira uma nova com o código a seguir:

<!-- CARD.IMAGE -->
<img src="./fig/NOME_DO_ARQUIVO.svg" class="card-img-top" alt="DESCRIÇÃO ACESSÍVEL"> 
<p class="card-text legenda"><small>BREVE LEGENDA AQUI</small></p> <!-- CARD.IMAGE.LEGENDA -->
2.3 Gráfico GGPlot interativo

Modifique um GGPlot interativo buscando por <!-- CARD.GGPLOT --> ou insira um novo utilizando:

<!-- CARD.GGPLOT.INTERATIVO -->
<div data-src="./web/IDENTIFICADOR.DO.GRAFICO.html" class="codegena_iframe center d-flex flex-column justify-content-center"
     data-css="background:url('./img/loading.gif') white center center no-repeat;border:0px;"
     data-responsive="true">
  <picture class="side-by-side">
    <source media="(max-width: 575.98px)"  srcset="./web/plot.forecast.exp.ex.svg">
    <source media="(max-width: 767.98px)"  srcset="./web/plot.forecast.exp.sm.svg">
    <source media="(max-width: 991.98px)"  srcset="./web/plot.forecast.exp.md.svg">
    <source media="(max-width: 1199.98px)" srcset="./web/plot.forecast.exp.lg.svg">
    <img src="./web/IDENTIFICADOR.DO.GRAFICO.svg" class="placeholder_svg side-by-side" width="100%">
  </picture>
</div>
<script src="./js/async-iframe.js"></script>

Nota: IDENTIFICADOR.DO.GRAFICO deve ser substituído pelo mesmo identificador utilizado na geração do gráfico nos arquivos para plotagem. Nota 2: Para correto funcionamento na página estados.html, os gráficos devem ser salvos no R com seguinte nomenclatura:

IDENTIFICADOR.GRÁFICO.UF

Porém ao incluí-los no código HTML é necessário omitir o código UF:

IDENTIFICADOR.GRÁFICO
2.4 Legenda de gráfico

Modifique a legenda de um gráfico buscando por <!-- CARD.GGPLOT.LEGEND --> ou insira uma nova utilizando:

<!-- CARD.GGPLOT.LEGEND -->
<div class="card-chartLegend">
  <small class="chartLegendSquare" id="COR_DA_LEGENDA">LEGENDA 1</small>
  <small class="chartLegendSquare" id="COR_DA_LEGENDA">LEGENDA 2</small>
</div>

Para manter boa visualização online, cada linha pode conter apenas duas legendas. Para adicionar mais legendas adicione um novo bloco.

A cor da legenda pode ser alterada substituindo COR_DA_LEGENDA por:

legendBlack
legendGrey
legendBlue
legendLightBlue
legendDarkBlue
legendPurple
legendPink
legendRed
legendOrange
legendYellow
legendGreen
legendTeal
2.5 Texto justificado

Modifique o texto de um card buscando por <!-- CARD.TEXT --> (ou pelo próprio texto) ou insira um novo bloco utilizando:

<!-- CARD.TEXT -->
<p class="text-justify">
  Você deve escrever o seu texto aqui. O texto exibido será justificado.
  Apesar de estar em outra linha, não há quebra de linha aqui. Caso precise de uma quebra
  de linha, inclua outro bloco de texto.
</p>
2.6 Assinatura

Modifique uma assinatura buscando por <!-- CARD.SIGNATURE --> ou insira uma nova utilizando:

<!-- CARD.SIGNATURE -->
<div class="blockquote-footer text-right">Observatório COVID-19</div>
2.7 Botão com link para outra página

Modifique um botão buscando por <!-- CARD.BUTTON --> ou insira um novo utilizando:

<!-- CARD.BUTTON -->
<a href="LINK PARA A PÁGINA" target="_blank"><button class="btn btn-primary mt-1" type="button">
  TEXTO DO BOTÃO
</button></a>
2.8 Botão com texto escondido

Modifique um botão que revela texto escondido buscando por <!-- CARD.BUTTON.EXPAND --> ou insira um novo utilizando:

<!-- CARD.BUTTON.EXPAND -->
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseGraph" aria-expanded="false" aria-controls="collapseGraph">
    TEXTO DO BOTÃO ▾
</button>
<!-- CARD.BUTTON.EXPAND.CONTENT -->
<div class="collapse mt-2" id="collapseGraph">
    <!-- CONTEÚDO ESCONDIDO AQUI-->
</div>

Em <!-- CONTEÚDO ESCONDIDO AQUI--> é possível inserir qualquer tipo de conteúdo descrito aqui: texto, imagens, assinaturas e etc.

2.9 Equação matemática

No final do template está comentado os scripts para equação matemática. No seu arquivo, descomente-os.

<!-- SCRIPT PARA USAR MATHJAX E ESCREVER EQUAÇÕES
    <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
    <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-mml-chtml.js"></script> -->

Para escrever a equação \( EQUAÇÃO NA FORMA LATEX AQUI \)

2.10 Tabelas automáticas

No arquivo template.html o script necessário para utilizar tabelas criadas no R está comentado. Descomente-o apenas em páginas cujo uso de tabelas é necessário.

<!-- SCRIPT PARA USAR TABELAS 
    <script src="js/updateTable.js"></script> -->

Adicione o seguinte código em seu card na posição em que gostaria que a tabela. Substitua TABELA.html pelo nome da sua tabela gerada em R.

<!-- CARD.AUTO.TABLE -->
<include src="./tables/TABELA.html">Carregando...</include>
2.11 Tabela de Conteúdo

Caso queira uma tabela de conteúdo na sua página, descomente o código

<!-- SCRIPT PARA TABELA DE CONTEÚDO-->
<!---<script src="https://cdn.jsdelivr.net/gh/afeld/[email protected]/dist/bootstrap-toc.min.js"></script> -->

e adicione as seguintes linha de código antes dos cards.

<!-- TABELA DE CONTEÚDO AQUI -->
<p class="h6 toc-title">Índice</p>
<nav id="toc" data-toggle="toc" class="sticky-top"></nav>

ATENÇÃO: lembre de descomentar também o CSS relativo a tabela de conteúdo (toc).

Adicionando cards em uma página

Substitua qualquer <!-- NEW.CARD --> pelo código do seu card de acordo com a posição desejada.

Mudando a quantidade de colunas

A quantidade de colunas é ajustada automáticamente de acordo com a tela do dispositivo para permitir melhor navegação mobile. No entanto, caso deseje alterar manualmente o numero de colunas para telas a partir de 1200px de largura basta buscar por <!-- COLUMNS.NUM --> e substituir <div class="card-columns"> pela tag desejada:

<div class="card-columns two"> <!-- Duas colunas -->
<div class="card-columns one"> <!-- Uma coluna -->

Este caso particular é utilizado para otimizar as páginas específicas de estados em telas de alta resolução.

4. Barra inferior

A barra inferior é o elemento fixo no final da página e pode conter múltiplos itens.

Adicionando texto

Substitua <!-- FOOTER.ITEM --> pelo texto desejado usando as tags <div>

<div class="footer-content"><small>Seu texto aqui</small></div>
<!-- FOOTER.ITEM -->

Adicionando texto com ícones

Como o site inclui a biblioteca Ionicons é possível adicionar ícones seguidos de texto na barra inferior.

Substitua <!-- FOOTER.ITEM --> pelo seguinte código, personalizando o texto e o ícone:

<div class="footer-content"> 
  <ion-icon name="logo-github"></ion-icon>
  <p class="mb-0 ml-1"><a href="Seu link aqui" target="_blank" class="text-reset">Seu texto aqui</a></p>
</div>
<!-- FOOTER.ITEM -->

Para trocar o ícone basta substituir <ion-icon name="logo-github"></ion-icon> pelo código do ícone desejado, obtido em Ionicons

Lembre-se

Alterações nas barras superior e inferior devem ser incluidas em todos os arquivos .html para garantir consistência na navegação.

site_antigo's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

site_antigo's Issues

Otimizar a exibição das imagens

Exibição

  • Implementar um script de lightbox
  • Os gráficos exibidos lado a lado precisam ter um novo aspect ratio.

Otimização

  • Garantir que todas as imagens que podem ser svgs são svgs.

Melhorias na página Municípios

Geral

  • Aumentar tamanho das fonte nos nomes e valores dos eixos dos gráficos estáticos. [Precisa gerar as versões responsivas dos gráficos: ex, sm, md, lg] #14

  • Pensar em uma solução para não ter grande espaços vazios nos cards dos gráficos. #20

Aba “Casos graves”

  • Gráficos de casos Covid-19 acumulado e casos Srag acumulados: os gráficos que se veem depois de clicar tem valores nos eixos muito mais claros. Poderia-se ter isso nos gráficos que são visualizados? Ou então ter uma legenda “clique no gráfico para ver em detalhes”. [Já existe um toast com essa mensagem]

  • Passa despercebida a possibilidade de ver casos acumulados e casos diários.

Aba "Leitos ocupados"

  • Sugiro incluir no texto o intervalo estimado de leitos ocupados no dia e também daqui a 7 dias. Como é informado para as demais projeções e valores, nas outras abas. [Precisa gerar os arquivos .csv]

  • Mudar o padrão de datas no eixo X do gráfico, para ficar igual ao dos outros gráficos (formato %b/%m).

Aba "Óbitos"

  • Não mostra gráfico interativo quando clica.

Aba "Tempo de duplicação"

  • Evitar repetição nos textos da explicação. Na aba "Velocidade de avanço" há uma boa parte da explicação é comum a SRAG, COVID e óbitos. Acho que ficaria mais simples se a parte comum estivesse no início, só uma vez, talvez em uma caixa que possa ser expandida com título "O que são tempos de duplicação?". Daí a parte específica de cada gráfico pode ficar bem mais curta e focada nos valores.

  • O texto para informar o limite inferior e superior dos intervalos do tempo de duplicação está repetindo o mesmo valor (" A estimativa de hoje é que o número de casos graves de COVID-19 dobra entre 36.6 e 36.6 dias, enquanto casos de SRAG dobram entre 21.8 e 21.8 dias.") [Problema nos arquivos .csv]

  • Não mostra gráfico interativo quando clica.

Aba "Taxa de infecção"

  • Os dados para SRAG não são exibidos no texto
  • Não mostra gráfico interativo quando clica.

Remover as assinaturas Guimarães lab

O Miúdo tinha pedido para remover as assinaturas de Guimarães Lab nos painéis da pagina principal. Eu tinha tirado mas alguém colocou de volta. Pode retirar.

Matérias para seção de reportagens

Painel da SBF: Físicos e a Pandemia
https://www.youtube.com/watch?time_continue=5858&v=4HHOuDnW2DQ

Colóquio-De que informações precisamos para orientar as estratégias de enfrentamento?
https://www.youtube.com/watch?v=8ROyQXGNQww

Brasil pode ter mais do que o dobro das mortes já confirmadas por covid-19:
https://noticias.uol.com.br/saude/ultimas-noticias/redacao/2020/05/14/mortes-coronavirus-brasil-projecao-maio-observatorio.htm

A matemática da pandemia, Live do Estadão:
https://www.facebook.com/estadao/videos/235629277727155/?v=235629277727155

plot formatos

Vamos centralizar o plot.formatos? Eu fiz isso no plots.R, dando source no plot.formatos.R

O plots_municipio tem outra definição, não sei se é o caso de deixar a mesma pros dois (eu acho que sim.)

Pagina da projeção de leitos pra SP

Tem gráficos prontos no pasta outputs/municipio_SP/projecao_leitos/figuras. Esse é um bom lugar pra elas?
Podemos criar um card novo na pagina de SP com essas figura, e um menu SRAG/Covid-19 ?

Casos SRAG são sempre graves

Sugestão do José Olímpio (SMS) para os títulos de gráficos e seções que estejam: "Casos "Graves de SRAG":

"Casos graves de SRAG" é pleonasmo, poderia ser só "Casos de SRAG" ou "Casos de Síndrome Respiratória Aguda Grave"

Remover bibliotecas não utilizadas

Após uma inspeção inicial parece que as bibliotecas armazenadas em web/libs não são usadas de fato pelos widgets dos gráficos. Como são geradas toda vez que os gráficos são gerados seria interessante removê-las do repositório usando gitignore.

erro no analises_municipio.R

Passos pra reproduzir:

source('prepara_dados_municipio_SP.R')
source('analises_municipio.R')

dá o erro

Error in dt.rw(now.pred.zoo$n.casos.merged.cumul, window.width = 5) : 
  'zoo.obj' deve ser um objeto da classe zoo com uma única variável

na linha 28 do analises_municipio.R

Análise da nova página do município de SP

  • Observação geral: eu creio que devemos evitar ilustrações que sejam meio engraçadas/irônicas/fofas. Acho que o site deve ter um tom sóbrio.

Aba. “Casos graves”

  • Gráficos de casos Covid-19 acumulado e casos Srag acumulados: os gráficos que se veem depois de clicar tem valores nos eixos muito mais claros. Poderia-se ter isso nos gráficos que são visualizados? Ou então ter uma legende “clique non gráfico para ver em detalhes”.

  • Sobre o texto: não há explicação do que seja SRAG.

  • Os gráficos sobre taxas de duplicação ficam muito embaixo na página e podem passar despercebidos.

  • O botão “por observar casos de SRAG”está repetido.

  • Também passa despercebida a possibilidade de ver casos acumulados e casos diários.

Aba “taxa de infecção”

  • Os gráficos não sãos os corretos, quando na navegação anterior estava-se em “diários”ou invés de acumulados. Há um bug que faz com que não sejam exibidos os gráficos certos em diversas instâncias nesta aba.

Melhorar a navegação

Jumbotron

Botões das Abas

  • Melhorar o espaçamento entre botões de seleção das abas em celulares
  • Adicionar bordas azuis nos botões para indicar clicabilidade

Navbar

  • Melhorar espaçamento entre itens em telas pequenas

Mobile

  • Remover menu sticky
  • Remover texto justificado da página inicial

página do Município de São Paulo

Os gráficos das abas óbitos, tempo de duplicação e taxa de infecção não são mais "clicáveis"e não é mais possível passar o mouse em cima da linha para ver os valores do gráfico.

Melhorias visuais na página Cenários

  • Aumentar a fonte dos gráficos da página de cenarios.html.

  • Trocar as cores dos cenários, de tal forma que a cor verde fique pra o caso de nenhuma medida implementada e os azuis fiquem para alguma medida implementada.

  • Nas abas 2 e 3 ficaria melhor quebrar o texto em trechos mais curtos para que não fique tão comprido e os gráficos não fiquem com uma parte branca grande embaixo deles.

nowcasting estados

Testando o workflow de geração de plots e tabelas a partir de nowcasting

  • Rscript update_municipio.R --m SP está funcionando
  • Rscript update_nowcasting.R --estado municipio --sigla SP está funcionando (notem que aqui "estado" é escala, dá para botar estado ou municipio, my bad)
  • falta comparar os outputs de ambos workflows no caso de municipio SP
  • aliás talvez faltam ou sobram plots em ambos? quando soubermos dá para subir os dados de municipio SP #help
  • Testei Rscript update_nowcasting.R --estado estado --sigla SP para todos os estados. Só rodaram AM, CE, RJ, SP. DF tentou mas deu um erro.
  • A cláusula lógica que checa se há nowcasting parece estar funcionando.
  • Muitos estados não rodam por algum problema em preenche.now(). Não chequei o motivo
  • Testar workflow com objetos csv não rds em _nowcasting
  • Adaptar e testar workflow com objetos csv não rds em _municipio_SP
  • Gerar tabela resumão
  • Falta corrigir #31 #help mas isso talvez seja mais fácil com a tabela resumão

ícone de óbitos

No site atualmente tem um laço verde, mas isso é associado à segurança do trabalho - regra geral, cada cor de laço tem um significado específico, pra óbito a única opção é preto mesmo.

Cards na pagina municipio

Fiz um branch modelogro para incluir a projeção de leitos na pagina do município. Tá tudo mais ou menos ok, mas o card novo tem um bug que eu não sei como arrumar. Quando eu entro na pagina do município, clico no card novo, ele não muda para a pagina nova. Só muda quando eu clico em outro card antigo, depois no card novo.

Uniformizar os labels dos gráficos

R

  • Garantir que todos os gráficos sejam gerados em todas as versões responsivas: ex, lm, md, sm e normal

HTML

  • Garantir que todas as páginas estejam utilizando o código de seleção responsiva do svg do gráfico
  • Garantir que o título dos gráficos sejam renderizados pelo HTML

Implementar troca de escalas no site

O gráfico de casos hospitalizados em SP tá em escala log, mas o crescimento é quase linear há um mês, será que precisa ficar em log? Como não tá crescendo tão rápido acho que não precisa.

Otimizar a obtenção dos horários de atualização

Os arquivos de data de last update têm dado muito problema com os robôs, eles frequentemente levam a conflitos triviais entre commits que afetam plots / sub-páginas diferentes. Não seria melhor não deixar nenhuma atualização automática disso, e deixar um "processo" independente só pra isso? Opções que pensei são:

  1. um js que recupera os dados a partir da página do github; ou
  2. um outro robô que pega a data do último commit de todos os cmponentes da página

O 1 não sei se é vável, o 2 é fácil. O ponto importante é que nenhum script atualize essas datas, fique tudo por conta desse outro script pra nunca ter conflito no merge.

Dados para dia 04/05 diferentes na plataforma do MS

Boa tarde, pessoal.
Parece haver uma diferença entre os dados do repositório referente ao Brasil e seus estados no dia 04/05 se comparado ao dados da plataforma do Ministério da Saúde em https://covid.saude.gov.br/.
Entre alguns exemplos, temos:
No repositório: dia 04/05 o Brasil apresenta 4,075 novos casos.
dia 04/05 o Ceará apresenta um total de 8,501 casos.
Na plataforma do MS: dia 04/05 o Brasil apresenta 6,633 novos casos.
dia 04/05 o Ceará apresenta um total de 11,040 casos.
Att.
Débora

Trocar cor pontos no site

Sugestão usuários: trocar a cor dos pontos projetados em azul para vermelho ou outra cor que se destaque melhor.

Atualizar a documentação

A documentação precisa ser atualizada para refletir as mudanças mais atuais no código. O código template também precisa ser atualizado.

Reportagens repetidas

Na página de reportagens, há itens da semana terceira semana de maio repetidos na segunda semana que maio.

caixas da página de info referenciadas

Cada gráfico/texto usa a info de uma das caixas só, seria legal ter anchors e colocar os links direto pra anchor correta dentro da página, pra ser mais específico - como esta agora o leitor demora pra achar de qual info ele precisa.

Model is overestimating

Right now the model is grossly overestimating cases. I've been following it for some day and we are well below the minimum predicted to the next day.

If we don't make accurate predictions for D+1 I don't see the point in extrapolating it to five days.

Qual o critério para definir semanas na seção reportagem?

Na seção de reportagem a semana 1 tem matérias de 2 a 12 de maio. O que deve estar errado, mas me levou à pergunta se a definição de semana 1, 2, etc desta seção está combinado. porque pode tanto ser até um dai específico da semana (p.ex. domingo), ou contar 7 dias a partir do dia 01 de cada mês.

Tempo de duplicação e casos observados truncados na data do nowcasting

Para o município de São Paulo o nowcasting diário é feito para até dois dias antes da última data de sintoma. Por isso o csv que tem o nowcasting (nowcasting_srag_previstos_YYYY_mm_dd.csv e nowcasting_covid_previstos_YYYY_mm_dd.csv) corta os dois últimos dias inclusive do casos notificados. Para linhas de casos notificados devemos usar então os dataframes apenas com estes (n_casos_data_sintoma_covid_YYYY_mm_dd.csv, n_casos_data_sintoma_srag_YYYY_mm_dd.csv)

Uniformizar o formato dos gráficos

Vamos centralizar o plot.formatos? Eu fiz isso no plots.R, dando source no plot.formatos.R

O plots_municipio tem outra definição, não sei se é o caso de deixar a mesma pros dois (eu acho que sim.)

Páginas utilizando o plot.formatos

  • Estados
  • Municípios
  • Cenários
  • Análises
  • Informações Técnicas

Guimarães Lab -> Obervatório

O Miúdo pediu pra tirar as especificações de "Guimarães lab" dos painéis do site. Acho que ai pode ficar sem essa assinaturazinha mesmo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.