『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

【Matplotlib】直線と折れ線グラフの作成

【Matplotlib】直線グラフの作成

直線

Matplotlib で直線グラフを作成する方法は何通りかあります。たとえば、numpy.arange() で作成した x のデータを直線の式に当てはめます。

# MATPLOTLIB_STRAIGHT_LINE_01

import numpy as np
import matplotlib.pyplot as plt

# 6×4サイズのFigureを作成
fig = plt.figure(figsize=(6, 4))

# FigureにAxesを1つ追加
ax = fig.add_subplot(111)

# 目盛線を表示
ax.grid()

# x軸の範囲を設定
ax.set_xlim([-5, 5])

# -5~5まで1刻みのデータを作成
x = np.arange(-5, 6)

# 直線の式を定義
y = 2*x + 1

# 直線をプロット
ax.plot(x, y, color="blue")

plt.show()

Python 直線グラフの作成
numpy.linspace() を使うと、非整数のデータを作成できます。

# MATPLOTLIB_STRAIGHT_LINE_02

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)
ax.grid()
ax.set_xlim([0, 5])
ax.set_ylim([0, 8])
ax.set_xlabel("x", fontsize=14)
ax.set_ylabel("y", fontsize=14)

# 0~5を10分割したデータを作成
x = np.linspace(0, 5, 10)

# 直線の式を定義
y = x + 2

# 直線をプロット
ax.plot(x, y, color="red")

plt.show()

Python 直線グラフの作成02
Axes.plot([x0, x1], [y0, y1]) と記述すると、(x0, y0) から (x1, y1) まで直線が引かれます。

# MATPLOTLIB_STRAIGHT_LINE_03

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)
ax.grid()
ax.set_xlim([0, 6])
ax.set_ylim([0, 10])
ax.set_xlabel("x", fontsize=14)
ax.set_ylabel("y", fontsize=14)

# (0,4)から(6,9)まで直線を引く
ax.plot([0, 6], [4, 9], color="sienna")

plt.show()

Python 直線グラフの作成02

水平線と垂直線

Axes.axhline(a) は Y = a に水平線を引きます。
Axes.axvline(a) は X = a に 垂直線 を引きます。

# MATPLOTLIB_HORIZONTAL_VERTICAL_LINE_01

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)
ax.grid()
ax.set_xlim([0, 6])
ax.set_ylim([0, 10])
ax.set_xlabel("x", fontsize=14)
ax.set_ylabel("y", fontsize=14)

# y=5に水平線を引く
ax.axhline(5, ls="-.", color="magenta")

# x=3に垂直線を引く
ax.axvline(3, ls="--", color="navy")

plt.show()

Python 水平線と垂直線を引く

【Matplotlib】折れ線グラフの作成

Axes.plot() にリストや配列を1つだけ渡すと、各要素を Y値とする折れ線を描画します。Y値は要素のインデックス値となります。

# MATPLOTLIB_LINE_GRAPH_01

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)
ax.grid()
ax.set_xlim([0, 3])
ax.set_ylim([0, 18])
ax.set_xlabel("X", fontsize=14)
ax.set_ylabel("Y", fontsize=14)

# 2,4,8,16をY値とする折れ線を描画
ax.plot([2, 4, 8, 16], color="darkgreen")

plt.show()

Python 折れ線を描画
第1引数と第2引数に X値と Y値を指定することもできます。

# MATPLOTLIB_LINE_GRAPH_02

fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)
ax.grid()
ax.set_xlim([0, 12])
ax.set_ylim([0, 10])
ax.set_xlabel("X", fontsize=14)
ax.set_ylabel("Y", fontsize=14)

# X値を設定
x = [0, 3, 5, 9, 12]

# X値を設定
y = [4, 1, 2, 8, 5]

# 折れ線を描画
ax.plot(x, y, color="crimson")

plt.show()

Matplotlib 折れ線を描く

コメント