LoginSignup
0
1

More than 1 year has passed since last update.

COVID-19のグラフ化とWEB公開

Posted at

はじめに

新型コロナのcsvデータがNHKからダウンロードできるので、そのcsvデータを加工編集しx軸に年月日、y軸に各県毎の感染者数等のグラフを作成し、webで表示するまでのプログラムを作成したので公開します。

  • csvデータの編集には、pandasを使用しました。
  • グラフ作成にはmatplotlibを使用しました。
  • Web構築のフレームにはFlaskを使用しました。Jinja2も使用しています。
  • Webサーバーにはpythonanywhereの無料版を利用しました。

環境

  • 開発環境
    • WIndows10
    • Pycharm
    • Python 3.8
  • pythonanywhere
    • 無料版

ディレクトリ構成とファイル

webサーバー pythonanywhere でのディレクトリ構成とファイルです。

mysite/
├── csv/
│   └── COVID-19_by_NHK.csv          NHK提供のcsvファイル
├── covid19_graph.py                 csvデータを編集、加工、グラフ化する
├── fig_manager.py                   グラフファイルを削除
├── flask_app.py                     Flaskのapp
├── static/
│   └── images/                      ここに作成したグラフを格納
└── templates/                       
    ├── COVID-19_error.html          エラー表示
    ├── COVID-19_outofservice.html   サービス外表示
    ├── COVID-19_result.html         グラフを表示
    └── COVID-19_top.html            トップ

プログラムおよび説明

  • flask_app.py
  • covid19_graph.py
  • fig_manager.py
  • COVID-19_top.html
  • COVID-19_result.html
  • COVID-19_error.html
  • COVID-19_outofservice.html

後で書きます

pythonanywhereでWEB化

  • すでに、pythonanywhere にユーザー登録済みとします。
  • pythonanywhere の Web 画面で、新しいappを作成します。フレームワークはFlaskを選択。pythonバージョンは適切なものにしてください。
  • Source code:ディレクトリとWorking directory:ディレクトリは同じにします。できれば、/home/(user)/mysite にすれば楽です。
  • 開発環境で作成した、pythonソース、htmlテンプレートをpythonanywhereの所定のディレクトリにコピーします。私は個数が多くないので、1個づつ upload しました。
  • 必要なディレクトリを作成します。
  • Source code:ディレクトリとWorking directory:ディレクトリは同じにします。
  • pythonanywhere の Web 画面で、Reloadします。これで app が起動されてWebが使えるようになります。

WEBでの実行

COVID-19cond.png

  • 条件を指定して[グラフ表示]ボタンを押してください。以下のようなグラフが表示されます。

COVID-19graph.png

クレジット表示

  • グラフの元データ(csv)は、NHKからダウンロードしています。ダウンロード元は、https://www3.nhk.or.jp/n-data/opendata/coronavirus/nhk_news_covid19_prefectures_daily_data.csv です(実際は、:を半角にしてください)。ここには、「詳しい規約はこちら」があり、「新型コロナウイルス関連データ・ダウンロードサービス利用規約」が書かれています。
  • それに従い、グラフ画面には「※情報:NHKまとめ。グラフは作者が編集・加工したものです。」というクレジットを記載しています。

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1