无法使用Seaborn绘制双轴图

时间:2020-04-03 06:49:46

标签: python matplotlib seaborn

当我尝试在jupyter笔记本中使用seaborn绘制双轴图时,我遇到了一个问题。

(重要说明!:当我使用python2时,代码运行良好)。

今天升级到anaconda python3时出现错误。

错误消息是:

/Users/enyi/opt/anaconda3/lib/python3.7/site-packages/seaborn/categorical.py:3720:UserWarning:catplot是图形级功能,不接受目标轴。您不妨尝试countplot warnings.warn(msg,UserWarning)

这是我的代码的输出图像:
https://i.stack.imgur.com/c968L.png

我的代码:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.read_csv('tips.csv')

fig, ax = plt.subplots(1,2,figsize = (10,5))

sns.catplot(x='sex', hue = 'group', data= df, kind = 'count', ax=ax[0])
sns.catplot(x='sex', y='conversion',hue = 'group', data= df, kind = 'bar',ax=ax[1])

plt.show()

1 个答案:

答案 0 :(得分:3)

我看不到您的代码如何与Python2配合使用,但这是重点。该错误消息清楚地告诉您catplot不接受ax=参数。如果要在子图上绘图,则必须使用基础绘图功能(在第一种情况下,错误提示为countplot

fig, ax = plt.subplots(1,2,figsize = (10,5))
sns.countplot(x='sex', hue = 'group', data= df, ax=ax[0])
sns.barplot(x='sex', y='conversion',hue = 'group', data= df,ax=ax[1])