スポンサーリンク
csvファイルから散布図を作成
一番基本的な書き方になります。
参考:numpyでcsvを読み込みmatplotlibでグラフを作成
csvファイルをロードして、X,Yの値を指定します。
下記がサンプルコードになります。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] plt.scatter(x, y1) plt.show()
下記が実行結果になります。

スポンサーリンク
同じ散布図内に複数系列プロット
同じ散布図内に複数系列プロットする場合です。
plt.scatter()で、複数分だけ続けて指定します。
下記がサンプルコードになります。
$ cat sample2.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] y2 = npArray[:, 2] y3 = npArray[:, 3] plt.scatter(x, y1) plt.scatter(x, y2) plt.scatter(x, y3) plt.show()
下記が実行結果になります。

プロットする点の色を指定
plt.scatter()のパラメータで指定します。
例えば、下記のように設定します。
c='m' #マゼンタ
c='b' #青
c='r' #赤
下記がサンプルコードになります。
$ cat sample3.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] y2 = npArray[:, 2] y3 = npArray[:, 3] plt.scatter(x, y1, c='m') plt.scatter(x, y2, c='b') plt.scatter(x, y3, c='r') plt.show()
下記が実行結果になります。

プロットする点の種類(marker)を指定
パラメータ(maker)を設定することで、プロットする点の種類(marker)を指定できます。
下記がサンプルコードになります。
$ cat sample4.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] y2 = npArray[:, 2] y3 = npArray[:, 3] plt.scatter(x, y1, c='m', marker='*') plt.scatter(x, y2, c='b', marker='x') plt.scatter(x, y3, c='r', marker='s') plt.show()
下記が実行結果になります。

ラベル名を指定
パラメータ(label)を設定することで、ラベル名を指定できます。
参考:matplotlibでlabelが表示されない時にチェックすること
下記がサンプルコードになります。
$ cat sample5.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] y2 = npArray[:, 2] y3 = npArray[:, 3] plt.scatter(x, y1, c='m', marker='*', label='label1') plt.scatter(x, y2, c='b', marker='x', label='label2') plt.scatter(x, y3, c='r', marker='s', label='label3') plt.legend() plt.show()
下記が実行結果になります。

グリッド線を表示
plt.grid(True) を実行することで、グリッド線を表示できます。
下記がサンプルコードになります。
$ cat sample6.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] y2 = npArray[:, 2] y3 = npArray[:, 3] plt.scatter(x, y1, c='m', marker='*', label='label1') plt.scatter(x, y2, c='b', marker='x', label='label2') plt.scatter(x, y3, c='r', marker='s', label='label3') plt.legend() plt.grid(True) plt.show()
下記が実行結果になります。

タイトルを設定
plt.title('Title')でタイトルを表示できます。
下記がサンプルコードになります。
$ cat sample7.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np import matplotlib.pyplot as plt npArray = np.loadtxt("in.txt", delimiter = ",") x = npArray[:, 0] y1 = npArray[:, 1] y2 = npArray[:, 2] y3 = npArray[:, 3] plt.scatter(x, y1, c='m', marker='*', label='label1') plt.scatter(x, y2, c='b', marker='x', label='label2') plt.scatter(x, y3, c='r', marker='s', label='label3') plt.legend() plt.grid(True) plt.title('Title') plt.show()
下記が実行結果になります。

スポンサーリンク