Anaconda更新后seaborn pointplot()报TypeError:意外参数'height'
问题原因
seaborn.pointplot()是axes级别的绘图函数,本身并不支持height和aspect参数——这两个参数属于figure级别的函数(比如sns.catplot()、sns.relplot()),用于控制整个绘图窗口的尺寸比例。Anaconda更新后,seaborn版本升级,参数校验变得严格,之前旧版本可能会忽略这些无效参数,现在直接抛出错误。
解决办法
有两种可行的修正方式:
方式一:手动创建Matplotlib画布控制尺寸
先通过Matplotlib创建指定尺寸的画布,再将画布对象传给pointplot:
import matplotlib.pyplot as plt import seaborn as sns # figsize格式为(宽度, 高度),aspect = 宽度/高度 fig, ax = plt.subplots(figsize=(8, 4)) sns.pointplot(x="你的x列名", y="你的y列名", data=你的数据集, ax=ax) plt.show()
方式二:改用figure级别的catplot函数
如果习惯用height和aspect参数,改用sns.catplot()并指定kind='point',这是官方推荐的figure级绘图方式:
import seaborn as sns sns.catplot( kind="point", x="你的x列名", y="你的y列名", data=你的数据集, height=4, # 画布高度(英寸) aspect=2 # 宽高比,最终宽度=height*aspect ) plt.show()
内容的提问来源于stack exchange,提问作者patrickf
相关产品推荐
相关产品推荐

