![](/img/trans.png)
[英]How do I write a class that behaves like a numpy.ndarray without subclassing numpy.ndarray?
[英]How do I create a count plot with multiple columns without the axes being stored in a numpy.ndarray?
我是编码新手,这是我的第一篇文章。 对不起,如果它的措辞更好!
我正在参加免费的在线课程,对于其中一个项目,我必须制作一个带有 2 个子图列的计数图。
我已经设法使用下面的代码制作了一个包含多个子图的计数图,并且所有值都是正确的。
fig = sns.catplot(x = 'variable', hue = 'value', order = ['active', 'alco', 'cholesterol', 'gluc', 'overweight', 'smoke'], col='cardio', data = df_cat, kind = 'count')
但是由于我这样做的方式, fig.axes 存储在二维数组中。 数组两行之间的唯一区别是标题(有氧运动 = 0 或有氧运动 = 1)。 我假设这是因为 col='cardio'。 col 参数是否总是导致 fig.axes 存储在二维数组中? 有没有办法解决这个问题,还是我必须完全改变我制作图表的方式?
我确信这通常不是问题,但正因为如此,当我通过测试模块运行我的程序时,它会失败,因为测试模块中的某些函数不适用于 numpy.ndarrays。
如果我将引用从 fig.axes[0] 更改为 fig.axes[0,0],我通过了测试,但显然我不能只更改测试模块以通过。
我发现了一些东西。 这只是一个实现细节,因此依赖它会很疯狂。 如果你设置 col_wrap,那么你会得到一个不同形状的轴 ndarray。
转载如下:
import seaborn as sns
# I don't have your data but I have this example
tips = sns.load_dataset("tips")
fig = sns.catplot(x='day', hue='sex', col='time', data=tips, kind='count', col_wrap=2)
fig.axes.shape
它具有形状(2,),即它是一维的。 海生==0.11.2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.