You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用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版本,但错误仍未解决。


可行解决方法

  1. 匹配matplotlib兼容版本
    seaborn 0.12.0与pandas 1.5.0搭配时,matplotlib版本需对应3.5.x系列,执行以下命令安装指定版本:
pip install matplotlib==3.5.3
  1. 修改pairplot参数规避迭代问题
    显式指定绘图参数,跳过可能触发错误的默认逻辑:
# 只绘制下三角区域
sns.pairplot(data_frame, corner=True)
# 或者指定对角线绘图类型
sns.pairplot(data_frame, diag_kind='hist')
  1. 升级pandas到兼容版本
    pandas 1.5.0存在部分已知兼容性问题,升级到同分支的稳定版本:
pip install pandas==1.5.3
  1. 重置虚拟环境重新安装依赖
    若上述方法无效,创建全新虚拟环境,一次性安装匹配的依赖包:
# 创建虚拟环境
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 12:55:56