Translate

2020年2月5日水曜日

◆【2月5日更新版】新型コロナウイルス感染者総数の日ごとの推移のグラフを作成する「R」のコード例

↓動画ファイル版です

↓アニメーションGIF版です


グラフのデータは、Kaggleの「Novel Corona Virus 2019 Dataset」のcsvファイルに基づいています。

新しいデータファイルには、「Date」という変数が付加されて、日付別の集計がしやすくなりました。データファイル作成者に感謝します。

データのバージョン6では、「Date」の変数の日付データの形がすべて統一されていて、前処理が簡単になりました。



<Rのコードの例:gganimateなどのパッケージを利用しています。>

df_cov <- read.csv("2019_nCoV_data0205.csv")

df_cov <- df_cov %>% tidyr::separate(Date, c("Date1","time"), " ",convert = TRUE)

view(df_cov)

df_cov$Date1 <- as.Date(df_cov$Date1,format="%m/%d/%Y")

df_cov_date <- df_cov %>%  group_by(Date1) %>% summarise(Conf = sum(Confirmed))

df_cov_date<- mutate(df_cov_date,Val_lbl = paste0(" ",Conf))

view(df_cov_date)

gra <- ggplot(df_cov_date, aes(x = Date1, y = Conf)) + geom_bar(stat = "identity",fill = "darkred") +
  geom_text(aes(y=Conf,label = Val_lbl,vjust =-0.25, hjust=0.5),size = 5.25 ) +
  labs(x="Date",y="Confirmed Cases",title="Confirmed cases of 2019-nCoV",caption="Data source:
       https://www.kaggle.com/sudalairajkumar/novel-corona-virus-2019-dataset/data")

gra <- gra + theme(axis.line=element_blank(),
        axis.text.x=element_text(colour="black", size=12),
        axis.text.y=element_text(colour="black", size=12),
        axis.ticks=element_blank(),
        axis.title.x=element_text(colour="black", size=14),
        axis.title.y=element_text(colour="black", size=14),
        legend.position="none",
        panel.background=element_blank(),
        panel.border=element_blank(),
        panel.grid.major=element_blank(),
        panel.grid.minor=element_blank(),
        panel.grid.major.x =element_blank(),
        panel.grid.minor.x =element_blank(),
        panel.grid.major.y = element_line( size=.2, color="grey" ),
        panel.grid.minor.y = element_line( size=.2, color="grey" ),
        plot.title=element_text(size=20, hjust=0.5, face="bold", colour="black", vjust=-1),
        plot.subtitle=element_text(size=16, hjust=0.5, face="italic", color="black"),
        plot.caption =element_text(size=9, hjust=1, face="italic", color="black"),
        plot.background=element_blank(),
        plot.margin = margin(0.5,0.5, 0.5, 0.5, "cm"))

plot(gra)

gra <- gra + transition_states(Date1, transition_length = 4, state_length = 1) +
  shadow_mark() + enter_grow() + enter_fade()

animate(gra, nframes = 200,fps = 15,start_pause = 20,duration = 20, width = 740, height = 520,renderer = gifski_renderer("ncov0205.gif"))
------------------------------------------------------------------------------
-------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

◆【COVID-19】国別、地域別の感染者数の推移を簡単に確認できる「DashBoard(ダッシュボード)」の試作です:新型コロナウイルスダッシュボード(Novel Coronavirus DashBoard)

【COVID-19】今後、中国本土以外の地域への感染拡大が懸念されているため、国別、地域別の感染者数の推移を簡単に確認できるダッシュボードを試作してみました(Data source : JHU CSSE Covid19 Daily Reports)。

0 件のコメント:

コメントを投稿