如何将matplotlib绘图添加到多个海运绘图中

edqdpe6u  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(147)

我用seabor lmplot绘制了一个多重图,我想在这个图上添加一条x = y线,你能帮我解决这个问题吗?
我的代码:

sns.set_theme(style="white")
sns.lmplot(data=data, x='Target',y='Predicted', hue="Type",col='Model', height=5,legend=False, palette=dict(Train="g", Test="m"))
plt.plot([data.iloc[:,0].min(), data.iloc[:,0].max()], [data.iloc[:,0].min(), data.iloc[:,0].max()], "--", label="Perfect model")
plt.legend(loc='upper left')
plt.show()

和我的输出:

我用seabor lmplot绘制了一个多重图,我想在这个图上添加一条x = y线,你能帮我解决这个问题吗?
我的代码:

sns.set_theme(style="white")
sns.lmplot(data=data, x='Target',y='Predicted', hue="Type",col='Model', height=5,legend=False, palette=dict(Train="g", Test="m"))
plt.plot([data.iloc[:,0].min(), data.iloc[:,0].max()], [data.iloc[:,0].min(), data.iloc[:,0].max()], "--", label="Perfect model")
plt.legend(loc='upper left')
plt.show()

和我的输出:

pbwdgjma

pbwdgjma1#

您使用的plt.plot()将只添加线到最后一个图。添加线到每条线,您将需要使用lmplot()的轴和绘制线的每个子图。因为我没有您的数据,使用标准企鹅数据集来显示这一点。希望这有助于...

data = sns.load_dataset('penguins') ## My data
sns.set_theme(style="white")

g=sns.lmplot(data=data, x='bill_length_mm',y='bill_depth_mm', hue="species", col="sex", height=5,legend=False, palette=dict(Adelie="g", Chinstrap="m", Gentoo='orange'))

axes = g.fig.axes ## Get the axes for all the subplots
for ax in axes: ## For each subplot, draw the line
    ax.plot([data.iloc[:,2].min(), data.iloc[:,2].max()], [data.iloc[:,3].min(), data.iloc[:,3].max()], "--", label="Perfect model")

plt.legend(loc='upper left')
plt.show()

相关问题