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

Calplot与Calmap图表无法显示的问题排查求助

解决方法

你的问题核心是Matplotlib在脚本执行完毕后会自动关闭绘图窗口,导致你看不到生成的热力图。以下是两种可行的解决方式:

方式1:让绘图窗口保持打开

导入matplotlib.pyplot,在所有绘图代码后添加plt.show(),它会阻塞程序直到你手动关闭绘图窗口:

import numpy as np; np.random.seed(sum(map(ord, 'calplot')))
import pandas as pd
import calplot
import calmap
import matplotlib.pyplot as plt  # 新增导入

all_days = pd.date_range('1/1/2019', periods=730, freq='D')
days = np.random.choice(all_days, 500)
events = pd.Series(np.random.randn(len(days)), index=days)

calplot.calplot(events, cmap='YlGn', colorbar=False)
calmap.yearplot(events, year=2019)

plt.show()  # 新增该行,保持窗口打开

方式2:直接保存图像到文件

如果不需要显示窗口,只想生成图片文件,可使用plt.savefig()替代plt.show(),执行后会在脚本目录下生成指定格式的图片:

import numpy as np; np.random.seed(sum(map(ord, 'calplot')))
import pandas as pd
import calplot
import calmap
import matplotlib.pyplot as plt  # 新增导入

all_days = pd.date_range('1/1/2019', periods=730, freq='D')
days = np.random.choice(all_days, 500)
events = pd.Series(np.random.randn(len(days)), index=days)

calplot.calplot(events, cmap='YlGn', colorbar=False)
calmap.yearplot(events, year=2019)

plt.savefig('calendar_heatmap.png')  # 保存为PNG图片,可修改文件名和格式

补充说明

calplot和calmap都是基于Matplotlib实现的,所以它们的绘图逻辑遵循Matplotlib的规则:脚本执行完成后,所有绘图资源会被自动释放,窗口随之关闭。显式调用plt.show()或提前保存图像,就能解决窗口一闪而过的问题。

内容的提问来源于stack exchange,提问作者Brett

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:06:26