いい感じのグラフ出力アプリ作った
めっちゃブログ更新さぼってました、大変申し訳ございませんでした…。 でも書くことなかったしちょっと忙しかったし仕方ないと思うんだ、うん。
てことで今回は少し技術ブログチックなことを書いていこうと思います。 pythonのmatplotlibでいい感じのグラフスタイルになるパッケージ?みたいなのがあるので紹介していきます。
SciencePlots
SciencePlotsというやつです。 なんかmatplotlibのデフォルトの文字フォントって微妙なんですが、これだとちょっとかっこいい感じで文字出力してくれます。 あとはIEEEの論文スタイル用のグラフとかにもパラメータを指定することでできるようになるみたいです。 なのでこれを僕が普段グラフ出力のために使っているプログラムにも使ってみることにしましたのでご紹介します。
graph-creator
なんのひねりもないリポジトリ名ですが、graph-creatorです。 これはcsvファイルをグラフにするアプリケーションです。
準備
まずは実行するのに必要なライブラリをpipなりなんなりでインストールしてください。 ライブラリは下記の通りです。
- numpy
- matplotlib
- pandas
- SciencePlots
あと一応実行環境を記載しておくと下記の通りです。 たぶん記載した環境でなくとも動くとは思います。
os | python version |
---|---|
macOS Catalina | python 3.8.6 |
Ubuntu 20.04.1 LTS (Focal Fossa) | python 3.8.3 |
実行
実行方法は下記のコマンドをプロジェクト直下で実行です。
$ python main.py
そうすると対話モードでアプリケーションが立ち上がるので聞かれたことにこたえていきましょう。 一応書くとこんな感じ。
# 今はモード1しかないので1を入力
Please select a mode (1: 2-axis graph): 1
# グラフにしたいcsvファイルのプロジェクト直下からの相対パスか絶対パスを入力
Input a csv file path: example/example.csv
# x軸の名前
Input a x axis name: x
# y軸の名前
Input a y axis name: y
# 画像ファイルのファイル名
Input a output image file name: img.png
とりあえず何も打たずにenter押し続けると上記の値がデフォルトで入力されますので出力画像だけみたい人はそれでもいいです。
出力される画像はoutput/
に出力されます。
すべてデフォルト値で実行した場合は下記のような画像が出力されます。

デフォルト値での出力画像
綺麗な図や…
一応、もう1つcsvデータを用意してあるのでそちらでもやってみます。 下記のように実行してください。
$ python main.py
Please select a mode (1: 2-axis graph): 1
Input a csv file path: example/example2.csv
Input a x axis name: x
Input a y axis name: y
Input a output image file name: img2.png
すると以下のような画像が出力されます。

sin-cosのグラフ
いいっすねぇ!
今後の展望
x-yの二軸のグラフではなくてもっと色々なグラフを出力できるようにしたいですね。 暇があったらやろうと思います。 久しぶりにpython触ったから結構時間かかりました。
まとめ
- 綺麗にグラフ出力できるアプリ作りました。
- みんな使ってね!