matplotlib在pycharm中不现实(实际上是不更新)的解决方法

matplotlib在pycharm中不能绘图(实际上是不更新)的解决方法

今天在使用matplotlib做数据可视化的时候,先显示了一些数据(这里我不将我真实的代码展示,在一个新的py文件中模拟了一个案例),然后继续更新数据,结果更新的数据并未生效,仍旧显示为show()函数时的数据,,,神器的是在idle中可以正常显示

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.scatter(np.arange(10),np.arange(10))
plt.ion()
lines = ax.plot(np.arange(10), np.arange(10), 'r-', 3)
plt.show()
plt.pause(0.5)
lines = ax.plot(-np.arange(10), -np.arange(10), 'r-', 3)

pycharm中显示效果
pycharm中显示效果
在这里插入图片描述
idle中显示效果

网上查找后发现很多解答中要加一下语句

import matplotlib as mpl
mpl.use('Agg')

且必须加到import matplotlib.pyplot as plt之前,但是我在加上之后任然无效,并且会报错
在这里插入图片描述
后来将Agg改为TkAgg后可以正常显示

import matplotlib as mpl
mpl.use('TkAgg')
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.scatter(np.arange(10),np.arange(10))
plt.ion()
lines = ax.plot(np.arange(10), np.arange(10), 'r-', 3)
plt.show()
plt.pause(0.5)
lines = ax.plot(-np.arange(10), -np.arange(10), 'r-', 3)

原因分析: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
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值