我正试图用这段代码并行地绘制两个dispots
fig,(ax1,ax2) = plt.subplots(1,2)
sns.displot(x =X_train['Age'], hue=y_train, ax=ax1)
sns.displot(x =X_train['Fare'], hue=y_train, ax=ax2)
字符串
它返回以下结果(两个空的子图,后面各有一个显示在两行上)-
x1c 0d1x的数据
的
的
如果我用violinplot尝试同样的代码,它会返回预期的结果
fig,(ax1,ax2) = plt.subplots(1,2)
sns.violinplot(y_train, X_train['Age'], ax=ax1)
sns.violinplot(y_train, X_train['Fare'], ax=ax2)
型
的
为什么displot返回不同类型的输出,我可以做些什么来在同一行上输出两个图?
1条答案
按热度按时间oipij1gg1#
seaborn.distplot
在seaborn 0.11
中是DEPRECATED
,并被以下内容替换:displot()
,一个图形级别的函数,在绘制的绘图类型上具有类似的灵活性。这是一个FacetGrid
,并且没有ax
参数,所以它将不适用于matplotlib.pyplot.subplots
。histplot()
,用于绘制直方图的轴级函数,包括核密度平滑。它确实有ax
参数,所以**它将与matplotlib.pyplot.subplots
**一起工作。*适用于任何没有
ax
参数的seaborn
FacetGrid
图。使用等效轴级图。relplot
、displot
、catplot
histplot
更容易。maplotlib.pyplot.subplots
的多种不同方法,请参见How to plot in multiple subplotsseaborn 0.11.1
和matplotlib 3.4.2
中测试字符串
导入和DataFrame示例
型
轴位图
sns.histplot
.ravel
、.flatten
和.flat
都将axes
数组转换为一维。型
的数据
图级图
displot
型
多个 Dataframe
pd.concat
组合,并使用.assign
创建标识'source'
列,该列可用于row=
、col=
或hue=
型