• 海外赴任時の車の売却はJCM

お気に入り一覧 お気に入り登録 お気に入り解除

【Jupyter Notebook】Matplotlibで2次元グラフを描こう 

カテゴリ タイ

今回はJupyter Notebook上で有名はグラフィック用の標準ライブラリーである「Matplotlib」を使って、各種グラフを描いてみたいと思います。
「Matplotlib」は主に2次元のデータを可視化するためのライブラリーでオペレーションシステムを選ばないこと、詳細な設定ができること、多彩な出力形式に対応している定番の可視化ツールです。
まずは、初めに「折れ線グラフ」次に「分布図」を描いてみたいと思います。Jupyter Notebookの実装がまだの方は以下のぼくの記事へのリンクから実装の方法を調べてくださいね。

LINKLINK:Jupyter Notebookの使い方解説【Python学習・データ解析】

Matplotlibについて matplotlib_01matplotlib_01 matplotlib_01matplotlib_01
みゆきメダカ
みゆきメダカ

上のスクショのライン1は、標準ライブラリーの「matplotlib」にある「pyplot」モジュールをエイリアス名「plt」として読み込むコードだよ。特に「plt」とする必要はなく、任意の名前で大丈夫だけれど、習慣的にこのライブラリーはこの名前で読み込まれるので、これに従うことをお勧めするよ。

みゆきメダカ
みゆきメダカ

同じくライン2は、matplotlibに関するJupyter Notebookのマジックコマンドでコードの下に該当する図を表示するよ。

フィギュアとサブプロットについて matplotlib_04matplotlib_04

Matplotlibでグラフを描写するには、「フィギュア(フィギュアオブジェクト)」と「サブプロット」を作る必要があります。大まかに言って、フィギュアはサブプロットを描写する領域で、サブプロットはグラフを描写する領域です。サブプロットは少なくとも1つ作成する必要があります。

フィギュアにサブプロットを追加する方法は「Figure.add_subplot()」と「pyplot.subplots()」を利用する2つの方法があります。ここでは前者を用いた方法で説明します。

line_chart_05Rline_chart_05R
みゆきメダカ
みゆきメダカ

ライン4:figure()関数でFigureクラスのインスタンスを生成するよ。このインスタンスをフィギュアと呼ぶよ。
ライン6〜8:add_subplot()メソッドでサブプロットをフィギュアの指定された位置に配置するよ。ここでは(221)なので、2行2列の1番目の位置に配置するんだ。番号の振り方は、左上から始まり、右に順次移動して、右端に来ると次は一段下げて左から右へ移動します。

line_chart_06Rline_chart_06R 折れ線グラフの書き方 matplotlib_05matplotlib_05

それでは、matplotlibを読み込んで、それに関するマジックコマンドを宣言して、ごく簡単な折れ線グラフ(実際には折れていませんが。)を描いてみよう。折れ線グラフはAxes.plot()メソッドを用いて描写します。

line_chart_01line_chart_01
みゆきメダカ
みゆきメダカ

上のスクショのコードを入力して実行すると下のスクショの折れ線グラフがJupyter Notebook上に表示されるよ。

みゆきメダカ
みゆきメダカ

それじゃ、具体的にラインごとにコードを解説するよ。

ライン9の「dat = [0, 1]」のようにplotメソッドの引数が1つの場合は、与えられた引数はY値として設定され、X値は最小値=0、最大値=リストの要素数ー1の整数列が与えられるよ。

ライン8の「ax.plot(dat)」は折れ線グラフを描写します。

ライン10の「plt.show()」はブラフを表示します。

line-chart-02line-chart-02 line_chart_03line_chart_03
みゆきメダカ
みゆきメダカ

上のスクショでは、前述のコードにライン4の「plt.style.use('ggplot')

」を追記しているよ。このコマンドを追加すると下のスクショのように背景に細かいグリッドが表示されるよ。

line_chart_04line_chart_04 line_chart_07Rline_chart_07R
みゆきメダカ
みゆきメダカ

X値とY値を両方を与えるには、第1、第2引数にX値、Y値を与えよう。

line_chart_08Rline_chart_08R 散布図の書き方 matplotlib_06matplotlib_06

散布図はAxes.scatter()メソッドを用いて描写します。scatter()メソッドの第1、第2引数にそれぞれX値、Y値を与えます。

scatter_plot_01Rscatter_plot_01R
みゆきメダカ
みゆきメダカ

散布図も基本的には折れ線グラフの応用だよ。上のコーディングの例ではNumpyを使って乱数を発生させているよ。

scatter_plot_02Rscatter_plot_02R まとめ matplotlib_03matplotlib_03

いかがでしたか。Jupyter NotebookでPythonとMatplotlibを使えば思いの外簡単にグラフが描けることが分かっていただけたかと思います。ご説明した例をもとに色々と修正を加えて、いろんな形を試してみてください。
それでは最後までお付き合いありがとうございました。さようなら。

続きを読む

ブログ紹介

みゆきメダカのブログ

https://miyukimedaka.com

20年以上の東南アジアでの海外赴任の経験をもとに、これから海外赴任される方、されている方との有益な情報の共有できればと思っています。

カテゴリ タイ

このブログの最新記事

これで漏れ無し!海外赴任前の準備方法

チャートとチェックリストを使って、
海外赴任前の準備項目を確認しながら情報を収集して準備に備えましょう!

海外赴任準備チェックリストを確認する

書籍版のご案内

海外赴任ガイド 到着から帰国まで

書籍版「海外赴任ガイド」は各種ノウハウや一目で分かりやすい「海外赴任準備チャート」などをコンパクトな一冊にまとめております。海外赴任への不安解消に繋がる道しるべとしてご活用ください。

書籍版の詳細

プログライターの方

海外赴任ブログを登録する

あなたのブログを登録してみましょう!

プログライターの方

海外赴任ガイドのSNS

Twitter アカウントをみる

たいせつにしますプライバシー 10520045