2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

matplotlibについて (1)散布図・折れ線図・グラフ設定

Last updated at Posted at 2019-04-20

Pythonの代表的な作図用ライブラリであるmatplotlibについて何回かに分けてまとめていこうと思います。
自分の理解向上と見直し用として

準備

import matplotlib.pyplot as plt

ライブラリを使用するにあたってはPythonファイル(.py)の最上部にimport文を書く必要があります。
今回はmatplotlibのなかのpyplotというモジュールを使用するので、import matplotlib.pyplotと書きます。
インポートしたら実際にコード内では、matplotlib.pyplot.~~ と書いて使っていきます。
as plt と書いているのは、インポートしたあとに使用する際に毎回matplotlib.pyplot.~~ と書くのは面倒なのでコード内の略称としてpltと名付けますということです。
つまり、コード内では、plt.~~ と書いていきます。
あまり難しいことは考えずに、グラフ書くときは最初にこれを書くんだくらいで良いです。

散布図(scatter)

最初に散布図の書き方です。

scatter_1.py
import matplotlib.pyplot as plt

x = [2, 5, 8, 10, 15]
y = [4, 16, 8, 20, 5]

plt.scatter(x, y)
plt.show()

plt.scatter(x軸の値, y軸の値)でデータをプロットし、
plt.show()でグラフを表示します
以下のようなグラフができます
image.png
少し、グラフをアレンジしてみましょう。

scatter_2.py
import matplotlib.pyplot as plt

x = [2, 5, 8, 10, 15]
y = [4, 16, 8, 20, 5]

xx = [7, 9, 11, 15, 20]
yy = [3, 8, 2, 10, 8]

plt.scatter(x, y, s=150, c='red')
plt.scatter(xx, yy, s=30, c='green')
plt.show()

plt.scatter()の中でs=で数値を渡すととプロットする点の大きさを変えることができます。
またc=で文字列を渡すと点の色を変えることができます。ただし、渡せる文字列は決まっているので注意が必要です。

以下のようなグラフになっていると思います。
image.png

折れ線図(plot)

次に折れ線グラフの書き方です

plot_1.py
import matplotlib.pyplot as plt

x = [2, 5, 8, 10, 15]
y = [4, 16, 8, 20, 5]

plt.plot(x, y)
plt.show()

plt.scatter()と同様に、plt.plot(x軸の値, y軸の値)でグラフを作成できます。
image.png
さきほど同様少しアレンジしてみましょう

plot_2.py
import matplotlib.pyplot as plt

x = [2, 5, 8, 10, 15]
y = [4, 16, 8, 20, 5]

xx = [7, 9, 11, 15, 20]
yy = [3, 8, 2, 10, 8]

plt.plot(x, y, marker='o', c='red', linestyle="solid")
plt.plot(xx, yy, marker='^', c='green', linestyle="dashed")
plt.show()

image.png
markerを指定すると値のところに指定したマーカーで点を打つことができます。このmarkerは先ほどの散布図でも指定可能です。
また、linestayleを指定すると実線、破線、点線などを指定可能です。

グラフ設定

ここまでやってきて、グラフのスタート(左下)が(0,0)じゃないとおもいませんでしたか?
何も指定しないと入力値によって適当に端の値を決めて作成されます。
その設定やタイトルを付けたりしてみましょう.

plot_3.py
import matplotlib.pyplot as plt

x = [2, 5, 8, 10, 15]
y = [4, 16, 8, 20, 5]

xx = [7, 9, 11, 15, 20]
yy = [3, 8, 2, 10, 8]

plt.plot(x, y, marker='o', c='red', linestyle="solid", label="graph1")
plt.plot(xx, yy, marker='^', c='green', linestyle="dashed", label="graph2")

plt.title("My graph")
plt.xlabel("X")
plt.ylabel("Y")
plt.xlim(0,25)
plt.ylim(0,25)
plt.legend()

plt.show()

よく使われる設定は上のようなものです。
plt.title()はグラフタイトルを設定します。
plt.xlabel(), plt.ylabel()はx軸, y軸の名前を設定します。
plt.xlim(min, max), plt.ylim(min, max)はそれぞれの軸の端の値を設定します。
plt.legend()はplt.plot()内でlabel=""を指定した際に凡例を表示するようにします。このとき、ただ引数としてlabel=""を入力してもplt.legend()を書かないとグラフには表示されないので注意が必要です。
実行ズルと以下のようなグラフができると思います。
image.png

matplotlibについて (2)棒グラフ・円グラフ・ヒストグラム

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?