使用EpiPy绘制流行曲线后图形不显示,如何解决?
解决epipy绘图在Sublime Text中不显示的问题
嘿,我之前也碰到过类似的情况!你用epipy生成流行曲线但在Sublime Text里看不到图形,核心问题出在Sublime Text的运行环境是非交互式的——而epipy依赖的matplotlib默认在这种环境下不会主动弹出图形窗口。下面给你几个实用的解决办法:
方法1:强制让matplotlib弹出窗口
在代码开头加上matplotlib的后端设置,再显式调用show()方法,就能强制弹出图形窗口了:
import matplotlib.pyplot as plt # 选一个适合你系统的交互式后端,TkAgg是比较通用的,不行就换QtAgg试试 plt.switch_backend('TkAgg') import epipy import pandas as pd # mers_df是包含"dates"日期列的pandas数据框 curve, fig, ax = epipy.epicurve_plot(mers_df, date_col='dates', freq='month') # 一定要加这行,手动触发图形显示 plt.show()
方法2:直接把图形保存成文件
如果不需要弹出窗口,直接把图形存到本地查看也很方便:
import epipy import pandas as pd # mers_df是包含"dates"日期列的pandas数据框 curve, fig, ax = epipy.epicurve_plot(mers_df, date_col='dates', freq='month') # 保存为PNG格式,路径可以自己修改 fig.savefig('mers_epicurve.png')
运行完去脚本所在文件夹找这个PNG文件就行,打开就能看到生成的流行曲线。
方法3:用Sublime的终端插件运行
装个Sublime的Terminus插件,让脚本在系统原生终端里运行——终端是交互式环境,matplotlib能正常弹出窗口。安装插件后右键点击脚本,选择Terminus: Open in Terminus运行,图形就会正常显示了。
其实本质就是matplotlib在非交互式环境下的显示问题,epipy只是调用了它的绘图功能,上面这几个方法都能顺利解决你的问题~
内容的提问来源于stack exchange,提问作者KubiK888
相关产品推荐
相关产品推荐

