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

Mac环境下逐行执行Pandas hist绘图时图表无法更新的问题

Mac环境下逐行执行Pandas hist绘图时图表无法更新的问题

我最近碰到了一个挺奇怪的Pandas绘图问题,在Mac上逐行执行hist()方法时会出现异常,但Windows上完全正常。下面是具体的问题细节和我做过的排查:

复现代码

import pandas as pd
import numpy as np

n = np.nan
a = [1,2,3,4,5,1,2,3,4,5.0,n,n,n,n,n,n]
b = [1,1,1,2,2,2,3,3,3,4.0,6,7,8,n,n,n]
d = {'a':a,'b':b}
df = pd.DataFrame(d)

# 先执行这行,等图表弹出后再执行下一行
df.b.hist()
# 单独执行这行代码
df.a.hist()

不同系统的表现

  • Windows系统:两次绘图都能正常显示,和预期一致;
  • Mac系统:如果逐行分开执行(等第一幅图加载完成后再运行第二行),会出现绘图异常;但如果一次性运行所有代码,就能得到正确的结果。

遇到的警告与环境配置

在Mac上首次触发绘图时,我还收到了这条警告信息:

qt.qpa.drawing: Layer-backing can not be explicitly controlled on 10.14 when built against the 10.14 SDK

我的环境参数如下:

  • Python 3.9.12
  • IPython 7.33.0
  • Matplotlib 3.5.2
  • Pandas 1.5.3
  • Mac OS 12.6.3
  • Spyder 5.3.0
  • 图形后端:自动(Qt 5.12.9 | PyQt5 5.12.3 | Darwin 21.6.0)

尝试过的解决方法

我尝试把图形后端切换为Tkinter,这时候之前的警告消失了,但绘图异常的问题还是没有解决。

备注:内容来源于stack exchange,提问作者Jimbo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:49:09