🐍
【Python】Matplotlibの使い方めも
記事について
Matplotlibのコードを目的別にメモします。
動作環境
Python 3.9.7
JupyterLab 3.2.1
関数のプロット
関数を可視化したい時のコードです。
function_plot.py
import matplotlib.pyplot as plt
import japanize_matplotlib
import numpy as np
x = np.linspace(0, 10, 1001)
y1 = 10*x
y2 = x**2
y3 = x
plt.rcParams["font.size"] = 18 #文字サイズを大きく
plt.plot(x, y1, "k-", label=r"$y=10x$") #ラベルはLaTex表記
plt.plot(x, y2, "k--", label=r"$y=x^{2}$")
plt.plot(x, y3, "k-.", label=r"$y=x$")
plt.xlim(x.min(), x.max())
plt.ylim(y1.min(), y1.max())
plt.title("関数のプロット")
plt.xlabel("x")
plt.ylabel("y")
plt.legend(loc='upper left', bbox_to_anchor=(1, 1))
plt.grid()
plt.savefig('figure.png', bbox_inches='tight') #凡例が見切れないように
plt.show()
2Dコンター図
二次元コンター図で可視化したい時のコードです。
2D_countor.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y) #1次元配列x,yを2次元グリッドに変換
Z = np.sin(np.sqrt(X**2 + Y**2))
plt.rcParams["font.size"] = 18 #文字サイズを大きく
plt.contourf(X, Y, Z, levels=20, cmap='RdBu')
plt.colorbar()
plt.xlabel('X')
plt.ylabel('Y')
plt.title('sin(sqrt(X^2 + Y^2))')
plt.show()
3Dコンター図
三次元コンター図で可視化したい時のコードです。
3D_countor.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y) #1次元配列x,yを2次元グリッドに変換
Z = np.sin(np.sqrt(X**2 + Y**2))
plt.rcParams["font.size"] = 18 #文字サイズを大きく
plt.contourf(X, Y, Z, levels=20, cmap='RdBu')
plt.colorbar()
plt.xlabel('X')
plt.ylabel('Y')
plt.title('sin(sqrt(X^2 + Y^2))')
plt.show()
Discussion