matplotlib

Matplotlibは、Python用のデータプロットツールです。

Pythonの可視化で使われる主なパッケージ(参考)

Jupyter Notebookにおけるmatplotlib

Jupyter Notebookでは、インラインあるいは別画面でグラフの可視化ができます。 PyQでは、インライン描画のみ可能です。最初に下記のように設定します。以降では、Jupyter Notebookで描画している想定をします。

%matplotlib inline
import matplotlib.pyplot as plt

Jupyter Notebookにおけるmatplotlibの詳細については、Jupyter Notebookにおけるmatplotlibを参照ください。

matplotlibの可視化サンプル

確率と統計 - データの確認も参照ください。

折れ線グラフ

plt.title('sample')
plt.xlabel('Hour')
plt.ylabel('Traffic')
plt.xlim((0, 2))
plt.ylim((0, 3.5))
plt.plot([1, 3, 2], label='Y')
plt.legend();  # plotのlabelオプションで指定した凡例
  • plt.title:でグラフのタイトルを指定できます。

  • plt.xlabel:でX軸のラベルを指定できます。

  • plt.ylabel:でY軸のラベルを指定できます。

  • plt.xlim:でX軸の範囲を指定できます。

  • plt.ylim:でY軸の範囲を指定できます。

  • plt.plot:で折れ線グラフを描画します。

    • labelオプションは、凡例で使用されます。

  • plt.legend:で凡例を表示します。


複数のグラフを1つのセルに書くと、重ねて描画されます。

plt.plot([1, 3, 2])
plt.plot([0, 1, 2]);

plt.show()があると、そこから新しいグラフとして描画されます。

plt.plot([1, 3, 2])
plt.show()
plt.plot([0, 1, 2]);

棒グラフ

plt.bar([0, 1, 2], [1, 3, 2], width=0.5, color='red', bottom=[1, 2, 2])
plt.xticks([0, 1, 2], ['A', 'B', 'C'], rotation=45);
  • 'plt.bar'で、棒グラフを描画します。

    • widthオプションで、棒の幅を指定できます。

    • colorオプションで、棒の色を指定できます。

    • bottomオプションで、棒の底の位置を指定します。

  • plt.xticksで、X軸のラベルを指定できます。

    • rotationオプションで、文字を回転します。

円グラフ

plt.figure(figsize=(5, 5))
plt.pie([1, 3, 2], colors=['skyblue', '#20FF20', 'green'], labels=['A', 'B', 'C'], autopct='%1.1f%%');
  • plt.figure(figsize=(5, 5))でグラフの大きさを指定し、縦横比が1になるようにします。

  • plt.pieで、円グラフを描画します。

    • colorsオプションで、色を指定できます。

    • labelsオプションで、ラベルを指定できます。

    • autopctオプションで、表示文字を指定できます。ここでは、割合(%)を表示します。

散布図

plt.scatter([0, 1, 2], [1, 3, 2]);
  • plt.scatter:で散布図を描画します。

ヒストグラム

plt.hist([2, 1, 3, 2], bins=4, range=(0, 4));
  • plt.hist:でヒストグラムを描画します。

  • ヒストグラムを表示するときは、必ず、binsオプションとrangeオプションを指定すると良いでしょう。

    • bins:階級の個数

    • range:X軸の表示範囲

matplotlibのグラフの保存

グラフを描画した後で、plt.savefig(ファイル名)でグラフを画像ファイルとしてファイルに保存できます。形式は、ファイル名の拡張子で決まります。

pandas.DataFrameの可視化サンプル

折れ線グラフ

import pandas as pd
df = pd.DataFrame([[0, 1], [1, 3], [2, 2]], columns=['X', 'Y'])
df.plot(title='sample');

棒グラフ

並べて描画します。

df.plot.bar(colormap='Set1');
  • colormapオプションで、カラーマップを指定します。設定できる値は、plt.colormaps()で確認できます。


積み上げて描画します。

df.plot.bar(stacked=True);

円グラフ

df.plot.pie(subplots=True);

散布図

df.plot.scatter('X', 'Y');

ヒストグラム

df.hist();
当コンテンツの知的財産権は株式会社ビープラウドに所属します。詳しくは利用規約をご確認ください。