matplotlibの使い方
1. まずは基本形
プロットデータのx,yをリストで渡して表示。
fig = plt.figure()
ax = fig.add_subplot()
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
ax.plot(x, y)
2. x軸を時刻にしてみる
from datetime import datetime, timedelta
x_t = [datetime(2021, 9, 1) + timedelta(hours=i) for i in range(4)]
'''
x_t
[datetime.datetime(2021, 9, 1, 0, 0),
datetime.datetime(2021, 9, 1, 1, 0),
datetime.datetime(2021, 9, 1, 2, 0),
datetime.datetime(2021, 9, 1, 3, 0)]
'''
fig = plt.figure()
ax = fig.add_subplot()
ax.plot(x_t, y)
ax.scatter(x_t, y) # 点もプロットしてみる
いけた!!:tada:
3. dataframeのデータをプロットしてみる。
3.1 sampleのdataframe作ります。
import pandas as pd
df = pd.DataFrame(
{
'x': x,
'y': y,
'x_t': x_t
}
)
print(df)
'''
x y x_t
0 1 1 2021-09-01 00:00:00
1 2 4 2021-09-01 01:00:00
2 3 9 2021-09-01 02:00:00
3 4 16 2021-09-01 03:00:00
'''
3.2 リストにすればプロットできるのでカラムごとにリストに変換してあげればOKでした。
こんな感じ。
x_df = df['x'].to_list()
y_df = df['y'].to_list()
3.3 あとは同じようにプロットします
fig = plt.figure()
ax = fig.add_subplot()
ax.plot(x_df, y_df)
途中でちょっと躓いてしまいました。
リストにするときこちらだとNG!!
x_df = df[['x']].to_list()
y_df = df[['y']].to_list()
※カラム抽出するときに['x']だとseries,[['x']]だとdataframeになってしまいます。今回はseriesにしてto_list()します。
matplotlibとdataframeあまり慣れてないので、これだけでも結構しんどいかったです。
Author And Source
この問題について(matplotlibの使い方), 我々は、より多くの情報をここで見つけました https://zenn.dev/ushknn/articles/5d6be05fa037b6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol