我有以下代码来绘制关于分类变量的回归图。这个问题感兴趣的变量是“
Site
”。
children_with_PNC_plot_site = sns.lmplot(x="Z Score, Post Central WM Right for All Patients vs. All Controls, Ages 6-18",
y="Z Score, Post Central WM Right for Children Patients vs. All Controls",
hue = "Site", palette = "hsv", data=df, fit_reg=False)
有没有办法将水平和垂直网格线以及线
y=x
一起添加到下面的图中?
当我尝试执行上述任何操作时,我总是会得到一个仅包含网格线或
y=x
线的新图。
谢谢!
sns.lmplot(...)
是一个“图形级别”函数,它创建自己的图形,可能有许多子图。当只有一个子图时,您可以使用返回的 “FacetGrid”的
ax
在其上进行绘图。
这是一个例子:
import seaborn as sns
iris = sns.load_dataset('iris')
g = sns.lmplot(data=iris, x='sepal_length', y='petal_length', hue='species', fit_reg=False)
g.ax.axline((0, 0), slope=1, color='k', ls='--')
g.ax.grid(True, axis='both', ls=':')
如果您创建多个子图(例如通过
col=
参数),您可以循环遍历所有子图:
import seaborn as sns
iris = sns.load_dataset('iris')
g = sns.lmplot(data=iris, x='sepal_length', y='petal_length', col='species', fit_reg=False)
for ax in g.axes.flat:
ax.axline((0, 0), slope=1, color='k', ls='--')
ax.grid(True, axis='both', ls=':')