调用seaborn.pairplot时触发StopIteration错误,求解决方案
问题:seaborn pairplot 抛出StopIteration错误
我的代码
# 创建数据集 import seaborn as sns import pandas as pd import matplotlib.pyplot as plt data_dict = {'A': [1, 2, 3, 4, 5], 'B': [2, 4, 6, 8, 10], 'C': [1, 4, 9, 16, 25], 'D': [5, 4, 3, 2, 1]} data_frame = pd.DataFrame(data_dict) # 使用seaborn绘制成对关系图 sns.pairplot(data_frame) plt.show()
版本信息
- pandas版本:1.5.0
- seaborn版本:0.12.0
错误信息
------------------------------------------------------------ StopIteration Traceback (most recent call last) Cell In [67], line 13 10 data_frame = pd.DataFrame(data_dict) 12 # Create a pair plot using seaborn ---> 13 sns.pairplot(data_frame) 14 plt.show()
已尝试操作
已升级seaborn版本,但错误仍未解决。
可行解决方法
- 匹配matplotlib兼容版本
seaborn 0.12.0与pandas 1.5.0搭配时,matplotlib版本需对应3.5.x系列,执行以下命令安装指定版本:
pip install matplotlib==3.5.3
- 修改pairplot参数规避迭代问题
显式指定绘图参数,跳过可能触发错误的默认逻辑:
# 只绘制下三角区域 sns.pairplot(data_frame, corner=True) # 或者指定对角线绘图类型 sns.pairplot(data_frame, diag_kind='hist')
- 升级pandas到兼容版本
pandas 1.5.0存在部分已知兼容性问题,升级到同分支的稳定版本:
pip install pandas==1.5.3
- 重置虚拟环境重新安装依赖
若上述方法无效,创建全新虚拟环境,一次性安装匹配的依赖包:
# 创建虚拟环境 python -m venv sns_env # Windows激活环境 sns_env\Scripts\activate # Linux/macOS激活环境 source sns_env/bin/activate # 安装指定版本依赖 pip install pandas==1.5.3 seaborn==0.12.0 matplotlib==3.5.3
内容的提问来源于stack exchange,提问作者hanma
相关产品推荐
相关产品推荐

