如何解决catplot问题轴对象
假设我有一个名为df的Pandas DataFrame变量,它的列为col1,col2,col3,col4。
使用sns.catplot()一切正常:
fig = sns.catplot(x='col1',y='col2',kind='bar',data=df,col='col3',hue='col4')
但是,只要我写:
fig.axes[0].get_xlabel()
我收到以下错误:
AttributeError: 'numpy.ndarray' object has no attribute 'get_xlabel'
我知道我可以使用带有ax参数的sns.barplot(),但我的目标是继续使用sns.catplot()并从fig.axes [0]获取一个Axes对象。
解决方法
如果您选中help page,则会显示:
用于在FacetGrid上绘制分类图的图形级界面
因此,像您一样获得xlabel:
import seaborn as sns
df = sns.load_dataset("tips")
g = sns.catplot(x='day',y='tip',kind='bar',data=df,col='smoker',hue='sex')
在此示例中,您的构面图是1 x 2,因此图的轴存储在(1,2)数组中:
g.axes.shape
(1,2)
要访问例如左侧之一(吸烟者=“是”),您可以执行以下操作:
g.axes[0,0].get_xlabel()
'day'
要更改标签:
g.axes[0,0].set_xlabel('day 1')
g.fig
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。