pycharm下使用matpltlib绘图复用figure无法更新画布问题

发现pycharm下使用matpltlib绘图重复使用一个figure无法对画布内容进行更新。

plt.draw()方法用于更新绘制的内容,但是pycharm中没反应。

 

解决方法:

import matplotlib as mpl
#mpl.use('Agg') # non-GUI backend
mpl.use('TkAgg') # Pycharm下重复使用一个figure
import matplotlib.pyplot as plt

在import matplotlib.pyplot as plt语句之前设置matplotib的后端。

通过mpl.use()设置matplotib的后端。常用的参数有:Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG。

一些具体描述参考:https://matplotlib.org/faq/usage_faq.html#what-is-a-backend

 

Agg是一种不显示GUI的模式。TkAgg会正常显示绘图。

 

这里将后端设置为TkAgg后可以正常使用。即,只打开一个figure对象,一次绘制完成后,通过plt.cla()或plt.clf()将内容清除,然后进行下一次绘制。

 

 

 

参考:

https://blog.csdn.net/whb3299065/article/details/86187964

 

posted on 2021-05-10 09:12  那抹阳光1994  阅读(687)  评论(0编辑  收藏  举报

导航