2020.05.04
M.clacla

COVID-19感染者数をグラフ化してみた

COVID-19についての情報サイト

今年に入ってから新型コロナウィルス感染症(COVID-19)の影響が広がり、
緊急事態宣言が発令され、さらに、
対象地域を全国としたまま1ヶ月ほど延長する方向で調整中とのニュースも出ていますね。(2020年5月1日時点)

東京都が開設した COVID-19最新感染動向のサイト が制作・公開され、このサイトをもとに、各都道府県で有志の方たちによってサイトを制作・公開されたのをご存知の方も多いかと思います。

こういったサイトを見ますと…

  • 単一の都道府県での感染者数の推移(横軸:日付、縦軸:新規あるいは累計の感染者数)をグラフ化
  • 国内の全都道府県での、最新の感染者数(新規・累計)を一覧や地図上で表示

というようなサイトは多く見られますね。

また、私たちビットスターがグループに所属しているさくらインターネットさんが、
これらのサイトのためのサーバを無償で提供していますね。

こんなことも見てみたい、と思ったけど…。

上記のように、有志の方たちによって素晴らしいサイトが制作されていますが、一方で、

  • いくつかの都道府県での感染者数の推移(横軸:日付、縦軸:新規あるいは累計の感染者数)を重ね合わせてグラフ表示したい
  • 特定の日付(今日、昨日、〇月〇日)の時点での都道府県ごとの感染者数を多い順に棒グラフにしたい

と思ったのですが、こういったグラフをすぐに表示できるサイトがなかなか見つかりませんでした。

ないなら作ろう(Pythonで)

そこで、自分で作ることにしました。

私は5年ほど前から、Pythonでのシステム開発をしてきており、そのPythonには、

  • CSVやExcel等からデータを読み取って加工するPandas
  • データを可視化するmatplotlibや、そのラッパーとして開発されたseaborn
  • コードを対話式に実行することができる実行環境のJupyter Notebookや、その進化版のJupyterLab

など、データを分析するための強力な基盤があります。
一方、私はHTML、CSSが苦手ですし、Vue.jsなども使ったことがないですし、
見た目を綺麗にする時間をかけることも難しいところです…。

というわけで、ここは割り切って、JupyterLab上で実行時のパラメータを定数で変更して実行し、
グラフを表示できればいいと考え、ブラウザで色々そうさするようなフロントエンド側はバッサリ切りました。

また、Pythonの実行環境をローカルのPCに構築するのは面倒だけど、とりあえず動かしてみたい、
という方には、Googleさんが提供している「Google Colaboratory」というサービスがあり、
Jupyter Notebookと互換性のある対話実行環境をしてくれています。

今回は、このGoogle Colaboratory上でも動作するように作っています。

作ったもの

前述のとおり、国内の複数の都道府県の感染者数推移を視覚化するのと、さらに、
複数の国の感染者数推移を視覚化したいとも思うようになったので、世界の日別・国別の視覚化についても作成しました。
作成したシート、および、説明のREADMEを、githubにて公開しました。

https://github.com/murakami0923/covid-19

詳しくは、こちらのリポジトリに入っている README.md からリンクしている、

  • 国内(日別・都道府県別)… README-jp.md
  • 世界(日別・国別)… README-global.md

に、記載しています。

これらのREADMEに、

  • データの取得元
  • ローカルでの開発環境構築およびJupyterLabの起動
  • Google Colaboratoryで動かすときの手順

などを記載しましたので、もし興味がありましたら、ご貸してみて頂ければと思います。

今後の拡充について

国内の日別・都道府県別については、新規感染者数の推移をグラフ化したのですが、
累積の感染者数の推移はまだ作成していないので、これから作っていくつもりです。

また、世界の日別・国部3つについては、国によって感染者数にかなりの開きがありますので、
各国の人口のデータをさがし、人口に対する比率(人口1万人あたり〇〇人、というようなもの)も出してみたいですね。

これら、追加したら随時上記githubに反映していきます。

M.clacla

一覧に戻る