【发布时间】:2022-02-25 01:46:49
【问题描述】:
我有两个数据框,如下图:
并输入参数CSV:
从两个 DF,我可以生成这个图:
代码:
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
df_1 = pd.read_csv("2DBM_50x50_Central_Aug21_Sim.cliped.csv")
df_2 = pd.read_csv("2DBM_50x50_Mauari_Aug21_Sim.cliped.csv")
df_all = pd.concat([df_1, df_2], axis=0)
variables = ["AAG", "DENS", "SRG", "RCG", "Thick"]
var_range = range(1, 101)
fig, axes = plt.subplots(2, 3)
flattened_axes = fig.axes
flattened_axes[-1].set_visible(False)
for i, var in enumerate(variables):
var_columns = [f"TB_acc_{var}[{j:05}]" for j in var_range]
data = df_all.melt(id_vars=["Period"], value_vars=var_columns, value_name=var)
ax = flattened_axes[i]
sns.boxplot(x="Period", y=var, width=0.2, linewidth =3, data=data, ax=ax, showfliers=False, color = "skyblue")
plt.tight_layout()
plt.show()
但是,我需要通过将代码与 parameters csv 集成来做到这一点。所以,我有:
这段代码为输入CSV的每一行生成单独的图表,并且每一行都有一个DF输入:
图表df_1:
图表df_2:
因此,我的任务是使代码与 参数 CSV 集成能够在单个 DF 中加入两个 DF,然后将其绘制成一个图表。
关于如何做到这一点的任何建议?
【问题讨论】:
-
请不要删除对理解问题至关重要的图像。删除您不再需要的问题的机会有限,如果该问题没有引起任何赞成的答案,则可以这样做。既然你有一个赞成的答案,我相信你不能删除,除非回答者删除他们的帖子。我们通常不鼓励这样做,因为它会破坏内容。
标签: python pandas matplotlib seaborn boxplot