サムネがコーヒーの記事は書きかけです。

【研究用スクリプト】積み上げ棒グラフと折れ線グラフを同時にプロットするテンプレート

axで積み上げ棒グラフ、ax2で折れ線グラフをプロットするテンプレート

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
day_0 = {0:100,1:0,2:0}
day_1 = {0:100,1:0,2:0}
day_2 = {0:53.4,1:45.1,2:1.5}
day_3 = {0:40.1,1:53.8,2:6.1}
day_5 = {0:29,1:66.1,2:4.9}

sns.set(font='IPAexGothic')
palette = sns.color_palette("mako")

dataset = pd.DataFrame([[100,100,53.4,40.1,29],[0,0,45.1,53.8,66.1],[0,0,1.5,6.1,4.9]],columns=["day 0","day 1","day 2","day 3","day 5"],index=["0","1","2"])

fig, ax = plt.subplots(figsize=(10, 8))
#1つ目のグラフ
for i in range(len(dataset)):
    ax.bar(dataset.columns, dataset.iloc[i], bottom=dataset.iloc[:i].sum(),label = f"{dataset.index[i]}",color=palette[i])
ax.set(xlabel='day', ylabel='(%)')
ax.legend(dataset.index,title="num aggregations")
ax.set_ylim(0, 100)

#2つ目のグラフ
ax2 = ax.twinx()
ax2.plot(dataset.columns[1:], [95.7,24.4,8.6,0],color="red",marker="o",label="day 0")
ax2.grid(False)
ax2.set(xlabel='day', ylabel='(%)')
ax2.set_ylim(0, 100)
plt.savefig("result.png",dpi=500)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です