BuzzLog / バズログ

BuzzLog / バズログはニュースとエンターテインメントを伝えるメディアです

Python Matplotlib チートシート

pyplot によるグラフ描画

%matplotlib inline
import matplotlib.pyplot as plt

# データ生成
import numpy as np
np.random.seed(123)
N = 100
x = np.arange(N)
y1 = 0.0 + np.random.rand(N)
y2 = 2.0 * x + np.random.randn(N)

# 散布図
plt.scatter(y1, y2)
plt.title("sample plot")
plt.xlabel("x")
plt.ylabel("y")
plt.grid()
plt.show()

# 折れ線グラフ
plt.plot(x, y2, color = "r", marker = "o", linestyle = "-", label = "1")
plt.xlim(-1, N)
plt.ylim(0, 200)
plt.legend(loc = "upper right")
plt.grid()
plt.show()

アニメーション

%matplotlib nbagg

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# データ生成
N = 30
np.random.seed(123)
x = np.random.randn(N)

absmax_x = np.ceil(np.max(np.abs(x)))
xmin, xmax = -absmax_x, absmax_x

def animate(nframe):
    plt.cla()
    plt.hist(x[:nframe], bins=20)
    plt.title("N = %s" % nframe)

fig = plt.figure()
anim = animation.FuncAnimation(fig, animate, np.arange(1, N+1))
# anim.save("hist.gif", writer = "imagemagick", fps=10)
plt.show()

日本語フォントの設定

import matplotlib.pyplot as plt

# 確認
print(plt.rcParams)
print(plt.rcParams.get("font.family"))
print(plt.matplotlib.get_configdir())
print(plt.matplotlib.font_manager.findSystemFonts())