下記のようなDataFrameにおいて、横軸を"datetime"、縦軸を"start"から"end"への推移としてプロットしたいです。画像で説明すると図1のような散布図で、startとendを縦線で結んで図2のようにしたいです。
matplotlibでこのようなグラフをプロットすることは可能でしょうか?
ちなみに実際のデータ数は数万個あるので、できるだけループでは行いたくないです。
python
1from matplotlib import pyplot as plt 2from pandas.plotting import register_matplotlib_converters 3import pandas as pd 4 5register_matplotlib_converters() 6df = pd.DataFrame({"date":["2019-01-01", "2019-01-02", "2019-01-04"], 7 "start":[100, 110, 140], "end":[200, 210, 230]}) 8df["datetime"] = pd.to_datetime(df["date"], format='%Y-%m-%d') 9print(df) 10 11# date start end datetime 12# 0 2019-01-01 100 200 2019-01-01 13# 1 2019-01-02 110 210 2019-01-02 14# 2 2019-01-04 140 230 2019-01-04 15 16plt.xlim(df["datetime"][0], df["datetime"][2]) 17plt.scatter(df["datetime"], df["start"]) 18plt.scatter(df["datetime"], df["end"]) 19plt.show()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/15 12:11