アリス-データ分析(5)

15300 ワード

Matplotlib


モジュールのインストール

----console-----
pip install matplotlib
import matplotlib.pyplot as plt

グラフィックの描画

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 2, 3, 4, 5]

fig,ax=plt.subplots()
ax.plot(x,y)
ax.set_title("y=x")
ax.set_xlabel('x')
ax.set_ylabel('y')

fig.savefig("first_plot.png")

plotとlegentプロパティ


plotのLineStyleには「-」、「-」、「:」が含まれています.あります.マークには「.」、「「o」「s」「^」などがあります.
伝説の影は影を表し、fancyboxは角を表し、borderpadは大きさを表す.
x = np.arange(10)
fig, ax = plt.subplots()
ax.plot(
    x, x, label='y=x',
    marker='o',
    color='blue',
    linestyle=':'
)
ax.plot(
    x, x**2, label='y=x^2',
    marker='^',
    color='red',
    linestyle='--'
)
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.legend(
    loc='upper left',
    shadow=True,
    fancybox=True,
    borderpad=3
)

fig.savefig("plot.png")

scatter


散乱は、各ポイントの色、サイズを制御します.
fig, ax = plt.subplots()
x = np.arange(10)
ax.plot(
    x, x**2, "o",
    markersize=15,
    markerfacecolor='white',
    markeredgecolor="blue"
)


fig.savefig("plot.png")

棒グラフと柱状図


barは各barの形で現れ,ヒストグラムは所与のデータの周波数を表す.
x = np.array(["축구", "야구", "농구", "배드민턴", "탁구"])
y = np.array([18, 7, 12, 10, 8])

z = np.random.randn(1000)


fig, axes = plt.subplots(1, 2, figsize=(8, 4))

# Bar 그래프
axes[0].bar(x, y)
# 히스토그램
axes[1].hist(z, bins = 50)
fig.savefig("plot.png")

Pandasを使用したグラフィックの描画


PandasのSeriesタイプもplotに加えることができます.
df = pd.read_csv("./data/pokemon.csv")

fire = df[
    (df['Type 1']=='Fire') | ((df['Type 2'])=="Fire")
]

water = df[
    (df['Type 1']=='Water') | ((df['Type 2'])=="Water")
]

fig, ax = plt.subplots()
ax.scatter(fire['Attack'], fire['Defense'],
    color='R', label='Fire', marker="*", s=50)
ax.scatter(water['Attack'], water['Defense'],
    color='B', label="Water", s=25)
ax.set_xlabel("Attack")
ax.set_ylabel("Defense")
ax.legend(loc="upper right")

fig.savefig("plot.png")