【发布时间】:2023-04-03 14:38:01
【问题描述】:
我想一起绘制两个平行的箱线图。为此,我在 python 中使用了 sub plots 函数,下面是我用于该过程的代码,但我无法从代码中得到很好的输出,因为它已经绘制了两个空图,我如何从输出中删除这些空图?请为此提供想法?
f, axes = plt.subplots(2,2,figsize = (14,10))
sns.boxplot(x='Heating QC',y='SalePrice',hue='Central Air', data=df ,ax=axes[0,0])
sns.boxplot(x='Heating',y='SalePrice',hue='Central Air', data=df ,ax=axes[0,1])
输出
更改低于输出后
IndexError Traceback (most recent call last)
<ipython-input-543-7dfa6ebf0390> in <module>
1 f, axes = plt.subplots(1,2,figsize = (14,10))
----> 2 sns.boxplot(x='Heating QC',y='SalePrice',hue='Central Air', data=df ,ax=axes[0,0])
3 sns.boxplot(x='Heating',y='SalePrice',hue='Central Air', data=df ,ax=axes[0,1])
IndexError: too many indices for array
【问题讨论】:
-
plt.subplots(2,2)
创建一个 2x2 的子图网格,这就是为什么您有 4 个图显示的原因。您需要将其更改为1,2
或2,1
您认为合适。 matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots.html -
@DavidBuck 是的,我更改了 plt.subplots(1,2) 然后没有任何输出,只给出错误消息并清空两个图表。我在问题部分添加了输出和错误消息。
-
您的
ax
现在只需更改为axes[0]
和axes[1]
,因为您只有一个一维的子图数组。此处介绍:stackoverflow.com/questions/54170394/… -
@DavidBuck 现在代码可以正常工作了,感谢您的支持。
标签:
python
seaborn
boxplot
subplot
graph-visualization
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用python绘制子图箱线图 - Python技术站