Categories: Python

【Python】matplotlibを使ってグラフを描画する方法を解説

この記事では、Python で matplotlib(マットプロットリブ) を使ってグラフを描画する方法を解説します。

matplotlib を使うことで簡単にデータを可視化させることができます。

それでは、簡単なサンプルを混えて使い方を見ていきましょう!

インストール

matplotlib は標準ライブラリではないので pip を使ってインストールしましょう!

ターミナルやコマンドプロンプト

pip install matplotlib

pipを使ってパッケージ管理する方法

基本的な使い方

matplotlib で簡単なグラフを描画してみて使い方を確認してきましょう!

import matplotlib.pyplot as plt

# x軸とy軸の値の指定
plt.plot([1, 2, 3, 4], [10, 20, 30, 40])

# 表示
plt.show()

上記コードを実行すると以下のような折れ線グラフが表示されます。

それでは、細かくコードを見ていきます。

インポート

まずは、matplotlibpyplotモジュール を plt という名前でインポートします。

import matplotlib.pyplot as plt

プロットの設定

plot() にイテラブルを指定することで x軸 と y軸 の値を指定できる。

plt.plot([1, 2, 3, 4], [10, 20, 30, 40])

値を変えてみるとさらに理解が深まると思います。

グラフの描画

作成したグラフを画面に表示します。

plt.show()

これだけで先ほどの折れ線グラフを描画することができました。

折れ線グラフは plot()、棒グラフは bar()、ヒストグラムは hist()、散布図は scatter() で描画することができます。

情報の追加

グラフに様々な情報を追加して分かりやすくすることができます。

タイトルの追加

タイトルを描画するには tilte() を使います。

plt.title('Graph')

タイトルやラベルに日本語を使うと文字化けしてしまいます。日本語を使いたい場合は以下の記事が参考になります。

LinkMacにおけるmatplotlibの日本語表示 | OpenBook

ラベルの追加

x軸 のラベルを xlabel()、y軸 のラベルを ylable() で配置できます。

# x軸 のラベル
plt.xlabel('X Label')

# y軸 のラベル
plt.ylabel('Y Label')

グリッド線の表示

グリッド線を表示させるには grid() に True を指定する。

plt.grid(True)

凡例の配置

凡例は、それぞれの plot に label を指定し、plt.legend() を呼び出すことで配置できる。

import matplotlib.pyplot as plt

# 青色の実線
plt.plot([1, 2, 3, 4], [10, 20, 30, 40], label='Blue')
# 赤色の破線
plt.plot([1, 2, 3, 4], [5, 15, 25, 35], linestyle='dashed', color='red', label='Red')

# 凡例の配置
plt.legend()

plt.show()

legend() の引数に loc を指定することで凡例を配置する場所を設定できる。1で右上、2で左上、3で左下、4で右下、5で中央右、6で中央左 を指定できる。

グラフを保存する

作成したグラフを保存するには plt.figure() から Figureインスタンス を生成し、savefig()メソッド を呼び出すことで保存できます。

import matplotlib.pyplot as plt

# Figureインスタンス の生成
fig = plt.figure()

plt.plot([1, 2, 3, 4], [10, 20, 30, 40])

# 「g.png」という名前で保存
fig.savefig("g.png")

実行すると同ディレクトリ内に「g.png」が生成されます。

ちなみに、jpeg、pdf、svg などの様々なフォーマットに対応しています。

まとめ

この記事では、matplotlib を使ってグラフを描画する方法を解説しました。

グラフにすることでデータをわかりやすく可視化することができます。複数のグラフが用意されているのでデータによって使うグラフを合わせましょう!

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

Tags: matplotlib
ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago