pycharm matplotlib.pyplot 绘图一闪而过解决办法 您所在的位置:网站首页 steam跳成就没有图解决办法 pycharm matplotlib.pyplot 绘图一闪而过解决办法

pycharm matplotlib.pyplot 绘图一闪而过解决办法

2023-09-25 15:02| 来源: 网络整理| 查看: 265

今天在写python作业的时候发现用python绘图使用show方法出现了一点问题,什么问题呢,

如题,绘制的窗口一闪而过,不留痕迹。

怎么解决,问百度而得之……

发现很多都是遇到不识别turtle的关键字,和我遇到的问题都不一样,(这就很麻烦 问题

然后浏览了一下觉得有些麻烦(主要是感觉解决不了我的问题

再然后,为了确保我的操作正确,我用了刘老师上课讲的例子,也就是↓ 例子 在这之前别忘记导入库import matplotlib.pyplot as plt

这四行代码得到的图形应该是↓这个样子 得到 但是,这个只是老师上课使用得到的结果,而我在实验课上试了一下只能得到一道突然出现的窗口的残影5555,好卑微

所以怎么肥四

我查了点资料看了很多大佬的博客,也没找到官方原因,最赞的一篇但是和我前提有些不一样的博客里面是这样子写的

(博客地址:https://www.cnblogs.com/maria-ld/p/8486442.html)

前提:

1.导入正确版本的matplotlib库

2.代码最后调用matplotlibku中pyplot.show()方法

3.无其他低级错误

解决步骤:

1.在导入pyplot之前.需要输入如下步骤:

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

2.此时运行python程序,虽然不报错,但是并没有绘图界面弹出

在命令行下面面输入如下命令:

import matplotlib print(matplotlib.get_backend())

将得到的字符串结果替换mlp.use(‘Agg’)中Agg’即可

例如:我的print(matplotlib.get_backend())结果为TkAgg,替换后为:mpl.use('TkAgg')

3.显示正常

4.至于原因,个人能力有限,无法解释透彻

然后我原先的写的代码是没有报错的,那为什么闪退呢,我不得其解

于是,我真的是灵机一动想到老师说其实不定义figure和subplot对象也可以完成绘图,于是,我就这样试了一下。 简单粗暴

把最后一行的fig.show()换成plt.show()就得到了想要的图形

import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.arange(10)) plt.show()

但是要注意:在已有若干subplot的情况下,对plt绘图将绘制在最后一次被操作的subplot上

没了问题暂时解决,不知道有没有朋友和我遇到情况一样的= =

在线等一个更好的解决办法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有