Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python seaborn的补丁_Python_Plot_Seaborn - Fatal编程技术网

Python seaborn的补丁

Python seaborn的补丁,python,plot,seaborn,Python,Plot,Seaborn,我的目的是在seaborn的lmplot中的特定坐标处添加一个补丁: 是否仍要向lmplot添加矩形/方形面片 我能够通过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, \

我的目的是在seaborn的
lmplot
中的特定坐标处添加一个补丁:

是否仍要向
lmplot
添加矩形/方形面片

我能够通过
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'

那么,我们可以将补丁添加到
FaceGrid

lmplot
正如您所了解的,返回一个
FacetGrid
,它将其所有轴作为二维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))

请注意,如果您的
FaceGrid
中只有一个
Axes
对象,您可以直接使用
fg.ax
lmplot
访问它,如您所知,返回一个
FaceGrid
,它将所有轴存储在
Axes
属性中,作为二维numpy数组

所以你只需要做一些事情,比如:

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))

请注意,如果您的
FaceGrid
中只有一个
对象,您可以使用
fg.ax直接访问它

@chuck这是否解决了您的问题,请通过将其标记为已接受,让本网站的未来访问者知道answer@chuck这解决了你的问题吗,请将此标记为已接受的答案,让本网站的未来访问者知道