我目前正在尝试制作子图,然后使用循环将其填充。更具体地说,我大约有50个CSV文件,每个文件都有两列。我想使用每个文件的两列来创建散点图,从而得到50个图。我拥有的代码是:
files = os.listdir() # List to contain the 50 file names.
fig, axes = plt.subplots(nrows=10, ncols=5, figsize=(45, 30))
axes = axes.ravel()
for idx, filename in enumerate(range(1, len(files) + 1)):
df = pd.read_csv(files[idx - 1]) # Read in the appropriate file.
axes[idx] = sns.scatterplot(x='pred', y='obs', data=df, alpha=0.3)
axes[idx].set_title('Plot {}'.format(idx), fontsize='x-large')
如果运行此代码,则会得到49个空子图,并且所有数据都将重叠到最后一个子图中。我将如何实现自己想要的?预先感谢。
答案 0 :(得分:1)
您需要将轴作为参数传递给scatterplot
sns.scatterplot(x='pred', y='obs', data=df, alpha=0.3, ax=axes[idx])