Python PR

【データ視覚化のデザイン】Pythonで実験データをクールにグラフ化

PCやる猫
記事内に商品プロモーションを含む場合があります

『データ視覚化のデザイン』に衝撃を受けた感動と自分用データ視覚化デザインについての記事を書きました!

『データ視覚化のデザイン』って何?という人は『Pythonで分かりやすいグラフを簡単に描く方法の紹介』の記事で紹介されているので読んでみてくださいな。

はじめに

実験データをエクセルでグラフ化する機会が多いのですが、野暮ったいグラフになるのが気になっていました。

最近では、Pythonを使う機会が増え、matplotlibを使うことでエクセルに比べイイ感じのグラフが書けて満足していたのですが、『データ視覚化のデザイン』という記事を見つけ、クールなグラフのデザインに衝撃を受けました。

データ視覚化デザインPythonモジュール『PyCoolPlot』

『データ視覚化のデザイン』の記事が公開されるとすぐに、データ視覚化デザインためのpythonモジュール『PyCoolPlot』がリリースされました!感謝!!

スポンサーリンク

自分用データ視覚化デザインを考えてみる

さっそく『PyCoolPlot』を使って実験データをグラフ化したのですが、しっくりこない…私がよく扱う実験データがオシロスコープで計測するような折れ線のデータばかりなので、以下のポイントをデザインに取り入れたくなりました。

  • 縦/横軸の単位は明記
  • フォントは大きく
  • やっぱりグリッドほしい
  • 閾値など見るポイントを明記

上記のポイントとデータ視覚化デザイン両方を取り入れたイイ感じのPythonコードがないか探しましたが見つかりませんでした…

ないなら。。作るか!!工学部出身だし!!!!!

自分用データ視覚化デザインpythonコード『MyPlot』

自分用データ視覚化デザインpythonコード『MyPlot』は以下のフローで作成しました。
ネーミングセンスがなさ過ぎて『MyPlot』というダサい名前しか思いつかなかった。

  1. 普段のやり方で実験データをグラフ化
  2. 自分用データ視覚化デザインにカスタム
  3. カスタムにもう一工夫

以降で紹介するPythonコードは以下の環境でテストしています。

  • Python3.6.5
  • matplotlib2.2.2
  • pandas0.23.0
  • Jupyter Notebook

Anaconda5.2.0をインストールすれば全てデフォルトで使えます。

普段のやり方にで実験データをグラフ化

Pythonコードは以下の通り。(実験データはテキトーです)

できた図↓

Pythonでグラフ化

よく見るコードによく見るグラフ…
凡例がグラフと被って全然クールじゃない…

自分用データ視覚化デザインにカスタム

自分用データ視覚化デザインにカスタムしたPythonコードは以下の通り。

できた図↓

Pythonでグラフ化

うん!グラフはかなりイイ感じ!ただ見るポイントが伝わらないので、もう一工夫!

カスタムにもう一工夫

今回は、values2が閾値:6[mV]を超えないこと」が伝わるように10~12のコードを追加して、一工夫します。

できた図↓

Pythonでグラフ化

うむ!すごくイイ感じです!!ただ、吹き出し位置の微調整が結構大変だったので、グラフ生成まではPythonでやらせて、矢印や吹き出しはあとからパワーポイントとかで追加するのがスマートかもしれません。今回は頑張ってPythonのみで完結させてみました!

まとめ

『データ視覚化デザイン』に衝撃を受け、創作意欲が掻き立てられ、『自分用データ視覚化デザイン』のPythonコードを作成しました。もし良ければ多くの人に使ってほしいなぁ…と思い人生初のブログまで始めました!(本記事が初投稿です)

拙い文章だったと思いますが、最後まで読んで頂けたら、とても嬉しいです(^^)

余談

最後のpythonコードだけ載せても良かったのですが、途中経過も載せることで、現役エンジニアの考え方が少しでも伝われば、学生さんなどを助けられるかなぁという裏の意図もあったり…

プロフィールにもあるように『理系応援ブロガー』として今後も記事を書こうと思います。ツイッターもやっているので興味ある方はフォローしてね↓

”はやぶさツイッター(@Cpp_Learning)”

参考資料

PICK UP BOOKS

  • 数理モデル入門
    数理モデル
  • Jetoson Nano 超入門
    Jetoson Nano
  • 図解速習DEEP LEARNING
    DEEP LEARNING
  • Pythonによる因果分析
    Python