matplotlib で散布図を表示する方法(サンプルコード)

matplotlib で散布図を表示する方法(サンプルコード)Matplotlib
ゆうすけ
ゆうすけ

matplotlib散布図 を表示したいです。

資格マフィア
資格マフィア

plt.scatter を使うことで 散布図 を表示できる。
散布図の表示設定も解説しよう。

 

✔️ 本記事のテーマ

 matplotlib で 散布図 を表示する方法

 

✔️ 読者さんへの前置きメッセージ

本記事は
「散布図を表示する方法 や 様々な表示設定」
について書いています。

 

Python では matplotlib ライブラリを使うことで、
簡単に散布図を表示することができます。

 

この記事ではさらに深掘りして、
表示設定を変更して、様々な散布図を表示する方法について解説します。

 

この記事に掲載しているサンプルコードは環境さえ整っていれば、
コピペで動くはずなので使用して頂いてOKです。

 

では、解説していきましょう。

 

Python で matplotlib を使うための前準備

Python で matplotlib を使うための前準備

まず、Python で matplotlib を使うために pip でインストールします。

 

以下のコマンドでインストールできます。

pip install matplotlib

 

また、描画するデータを作成するために使用するので、 Numpy もインストールします。

pip install numpy

 

 

matplotlib で 散布図 を出力する

matplotlib で 散布図 を出力する

以下のコードで最も簡単な散布図を表示することができます。

import numpy as np
import matplotlib.pyplot as plt

# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)

# 散布図を描画
plt.scatter(x, y)

# タイトルとラベルの設定
plt.title('simple plot')
plt.xlabel('x')
plt.ylabel('y')

# 散布図を表示
plt.show()

 

サンプルコードを順番に解説していきましょう。

 

ライブラリのインポート

まずは、コードで使用するライブラリをインポートします。

import numpy as np
import matplotlib.pyplot as plt

乱数を生成

散布図に描画するデータを生成します。


np.random.rand を使うことでランダムな数字を生成することができます。
今回は x軸、y軸の情報を持った100個のデータを描画します。

# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)

散布図を描画

plt.scatter() で散布図を描画します。
引数には生成した乱数(x軸データ、y軸データ)を渡します。

# 散布図を描画
plt.scatter(x, y)

タイトルとラベルの設定

表示する散布図のタイトルとラベルを設定します。

plt.title() でタイトル
plt.xlabel() で横軸に表示するラベル
plt.ylabel() で縦軸に表示するラベル
を設定します。

# タイトルとラベルの設定
plt.title('simple plot')
plt.xlabel('x')
plt.ylabel('y')

散布図を表示

最後に、ここまで作成してきた散布図を表示します。
plt.show() で散布図を表示します。

# 散布図を表示
plt.show()

 

 

matplotlib で「データごとに色を変えた」散布図を出力する

matplotlib で「データごとに色を変えた」散布図を出力する

matplotlib では散布図に描画するデータごとに色を変えることができます。

 

描画する色を変えるには plt.scatter の引数 c に色を指定します。
色の名称を文字列で指定します。

plt.scatter(x1, y1, c='red')

 

以下のサンプルコードで「データごとに色を変えた」散布図を表示することができます。

x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)

x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)

plt.scatter(x1, y1, c='red')
plt.scatter(x2, y2, c='blue')

plt.title('change color by data')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

matplotlib で「データの説明を表示した」散布図を出力する

matplotlib で「データの説明を表示した」散布図を出力する

matplotlib では散布図にデータの説明を表示することができます。

 

データの説明を表示するには plt.scatter の引数 label にデータの名称を指定します。
そして、 plt.legend() を実行することで、散布図にデータの説明を表示することができます。

plt.scatter(x1, y1, c='red', label='group1')
plt.scatter(x2, y2, c='blue', label='group2')

plt.legend(loc='upper right')

 

なお、 plt.legend() の引数 loc を指定することで好きな位置に説明を表示することができます。

  • upper right
  • upper center
  • upper left
  • center left
  • center
  • center right
  • lower left
  • lower center
  • lower right

 

以下のサンプルコードで「データの説明を表示した」散布図を表示することができます。

x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)

x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)

plt.scatter(x1, y1, c='red', label='group1')
plt.scatter(x2, y2, c='blue', label='group2')

plt.legend(loc='upper right')

plt.title('add description')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

matplotlib で「罫線を表示した」散布図を出力する

matplotlib で「罫線を表示した」散布図を出力する

matplotlib では散布図に罫線を表示することができます。

 

罫線を追加するには plt.grid(True) を実行します。

plt.grid(True)

 

以下のサンプルコードで「罫線を表示した」散布図を表示することができます。

x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)

x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)

plt.scatter(x1, y1, c='red', label='group1')
plt.scatter(x2, y2, c='blue', label='group2')

plt.legend(loc='upper right')
plt.grid(True)

plt.title('add grid')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

散布図に表示する「罫線」のオプション

散布図に表示する「罫線」のオプション

散布図に表示する罫線は「罫線のオプション」を設定することができます。

これにより、様々な罫線を表示することができます。

plt.grid(color=色, linestyle=線の種類, linewidth=線の太さ)

それぞれ指定することで、表示する散布図に表示する罫線を変更することができます。

 

以下のサンプルコードで「緑色」「ドット」「少し太い」罫線を表示することができます。

x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)

x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)

plt.scatter(x1, y1, c='red', label='group1')
plt.scatter(x2, y2, c='blue', label='group2')

plt.legend(loc='upper right')
plt.grid(color='g', linestyle='dotted', linewidth=3)

plt.title('add color grid')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

matplotlib で「マーカーを変えた」散布図を出力する

matplotlib で「マーカーを変えた」散布図を出力する

matplotlib では散布図に描画するマーカーを変えることができます。

 

マーカーを変えるには plt.scatter の引数 marker に記号を指定します。

plt.scatter(x1, y1, marker='*')

 

指定できる記号の一例は以下の通りです。

  • * : 星型のマーカー
  • ^ : 三角形のマーカー
  • o : 丸型のマーカー
  • s : 四角形のマーカー
  • . : 点のマーカー

 

以下のサンプルコードで「マーカーを変えた」散布図を表示することができます。

x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)

x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)

plt.scatter(x1, y1, c='red', label='group1', marker='*')
plt.scatter(x2, y2, c='blue', label='group2', marker='^')

plt.legend(loc='upper right')
plt.grid(color='g', linestyle='dotted', linewidth=1)

plt.title('change marker')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

散布図に表示する「マーカーの大きさ」

散布図に表示する「マーカーの大きさ」

散布図に表示するマーカーは大きさを変えることができます。

 

マーカーの大きさを変えるには plt.scatter の引数 s に数字を指定します。

plt.scatter(x1, y1, marker='*', s=100)

 

以下のサンプルコードではデータごとにマーカーの大きさを変えています。

x1 = np.random.rand(100)*0.5
y1 = np.random.rand(100)

x2 = np.random.rand(100)*0.5 + 0.5
y2 = np.random.rand(100)

plt.scatter(x1, y1, c='red', label='group1', marker='*', s=100)
plt.scatter(x2, y2, c='blue', label='group2', marker='^', s=20)

plt.legend(loc='upper right')
plt.grid(color='g', linestyle='dotted', linewidth=1)

plt.title('change marker size')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

matplotlib についてもっとスキルをつけるなら

matplotlib についてもっとスキルをつけるなら

今回は matplotlib で「様々な散布図を表示する」方法について解説しました。

 

matplotlib はデータ分析などでも使用される便利なライブラリです。

 

matplotlib についてスキルをつけるなら、Udemyの教材がオススメです。

>> Pythonでグラフ作成自由自在 ~Matplotlibの使い方~

 

先ほどの教材は matplotlib の基礎から応用まで徹底的に解説しています。

 

matplotlib ライブラリについて理解するところから、実際にグラフを表示するところまでを動画で解説しているので、非常に実践的な教材です。

 

Udemyは動画ベースで学習ができるので、
実際のコードや図解を見ながら、学習を進めることができます。

 

さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました