seaborn 中的补丁
Patches in seaborn
我的目的是在seaborn的lmplot
中的特定坐标处添加一个补丁:
是否可以为 lmplot
添加一个 rectangular/square 补丁?
我能够通过 sns.lmplot()
打印出情节。但是当我尝试使用具有相关坐标的 ax.add_patch()
语句添加矩形补丁时,它出错了。
#Sample code to generate lmplot and add patch
ax= sns.lmplot('A', 'B', hue="group", data=res_me,fit_reg=False, \
palette="Set1",size=10, aspect=1, scatter_kws={"s": 100,"linewidths":2,"edgecolor":"black"})
ax.add_patch(patches.Rectangle((0.912, 0.72), 1.02, .802,fill=False,edgecolor='green',lw=3))
我收到以下错误。
AttributeError: 'FacetGrid' object has no attribute 'add_patch'
那么我们可以给 FacetGrid
添加补丁吗?
lmplot
如您所知,returns 一个 FacetGrid
,它将其所有轴作为 2D numpy 存储在 axes
属性 中大批。
因此您只需要执行以下操作:
fg = sns.lmplot('A', 'B', hue="group", data=res_me,fit_reg=False,
palette="Set1",size=10, aspect=1,
scatter_kws={"s": 100,"linewidths":2,"edgecolor":"black"})
fg.axes[0, 0].add_patch(patches.Rectangle((0.912, 0.72), 1.02,
0.802,fill=False,edgecolor='green',lw=3))
请注意,如果您的 FacetGrid
中只有一个 Axes
对象,您可以直接使用 fg.ax
访问它
我的目的是在seaborn的lmplot
中的特定坐标处添加一个补丁:
是否可以为 lmplot
添加一个 rectangular/square 补丁?
我能够通过 sns.lmplot()
打印出情节。但是当我尝试使用具有相关坐标的 ax.add_patch()
语句添加矩形补丁时,它出错了。
#Sample code to generate lmplot and add patch
ax= sns.lmplot('A', 'B', hue="group", data=res_me,fit_reg=False, \
palette="Set1",size=10, aspect=1, scatter_kws={"s": 100,"linewidths":2,"edgecolor":"black"})
ax.add_patch(patches.Rectangle((0.912, 0.72), 1.02, .802,fill=False,edgecolor='green',lw=3))
我收到以下错误。
AttributeError: 'FacetGrid' object has no attribute 'add_patch'
那么我们可以给 FacetGrid
添加补丁吗?
lmplot
如您所知,returns 一个 FacetGrid
,它将其所有轴作为 2D numpy 存储在 axes
属性 中大批。
因此您只需要执行以下操作:
fg = sns.lmplot('A', 'B', hue="group", data=res_me,fit_reg=False,
palette="Set1",size=10, aspect=1,
scatter_kws={"s": 100,"linewidths":2,"edgecolor":"black"})
fg.axes[0, 0].add_patch(patches.Rectangle((0.912, 0.72), 1.02,
0.802,fill=False,edgecolor='green',lw=3))
请注意,如果您的 FacetGrid
中只有一个 Axes
对象,您可以直接使用 fg.ax