python plt.show没有图像显示

python使用matplotlib显示曲线,突然一执行就退出了,无法显示图像,

测试代码如下test.sh:

import numpy as np
import math
import matplotlib.pyplot as plt

x = np.arange(-10, 10, 0.1)
y = []
for t in x:
    y_1 = 1 / (1 + math.exp(-t))
    y.append(y_1)
plt.plot(x, y, label="sigmoid")
plt.xlabel("x")
plt.ylabel("y")
plt.ylim(0, 1)
plt.legend()
plt.show()

python3 ./test.sh
一执行就退出了,无任何错误打印

原因是matplotlib使用的显示后端是Agg,Agg是无法显示的,需要改成

Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SV中的一种,

比如TkAgg, 需要先安装python3-matplotlib-tk (opensuse系统下软件包的名称是这个, ubuntu下好像是python3-tk)
代码修改如下

import matplotlib
matplotlib.use('TkAgg')
import numpy as np
import math
import matplotlib.pyplot as plt

x = np.arange(-10, 10, 0.1)
y = []
for t in x:
    y_1 = 1 / (1 + math.exp(-t))
    y.append(y_1)
plt.plot(x, y, label="sigmoid")
plt.xlabel("x")
plt.ylabel("y")
plt.ylim(0, 1)
plt.legend()
plt.show()

修改后正常显示。

作者:帅得不敢出门
 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可能是因为您没有在代码中指定要显示片。请确保您已经正确地加载了片,并使用plt.imshow()函数将其显示出来。另外,也可以尝试在plt.show()之前添加plt.draw()函数,以确保图像已经被绘制。如果问题仍然存在,请检查您的matplotlib版本是否正确,并尝试重新安装。 ### 回答2: 在使用Python的matplotlib库绘制图像时,有时候会出现plt.show()无法显示片的情况。这可能是因为以下几个原因: 1. 代码逻辑错误:在绘制图像时,可能会出现代码逻辑错误,导致图像无法正常绘制,因此无法显示片。需要检查代码是否正确。 2. 代码运行顺序问题:有时候在绘制图像时,plt.show()命令的位置不正确,可能导致图像无法正常显示。需要确保plt.show()命令在所有绘命令的后面。 3. matplotlib库版本问题:有些matplotlib库版本可能存在一些问题,可能导致plt.show()无法正常显示片。需要检查matplotlib库版本,并尝试更新到最新版本。 4. 图像大小问题:有时候图像的大小可能太大,导致plt.show()无法正常显示片。需要尝试调整图像大小,使其符合显示要求。 5. 系统环境问题:有些系统环境可能会影响plt.show()命令的正常运行,如某些操作系统或IDE中的设置问题。需要尝试更换其他环境,并重新运行代码。 以上是一些常见的plt.show()无法显示片的问题及其解决方法,希望可以帮助您顺利绘制图像。 ### 回答3: 在使用Python的matplotlib库进行可视化的时候,有时候调用plt.show()却发现片无法显示,这是因为需要设置以下两个环境变量。 首先,需要安装pyqt库: ``` sudo apt-get install python-qt4 ``` 接着,在Python代码中设置以下两个环境变量: ```python import os # 设置环境变量,使matplotlib能找到基于QT的画布 os.environ['QT_QPA_PLATFORM']='offscreen' # 如果你使用的是Mac OS X,还需要设置一个环境变量使matplotlib能找到对应的Framework # 其中/path/to/matplotlib 需要改成你自己的matplotlib安装路径 os.environ['PYTHONHOME']='/path/to/matplotlib/Frameworks/Python.framework/Versions/3.8' ``` 接下来就可以正常调用plt.show()显示片了。如果还是无法显示,请检查环境变量是否设置正确,同时可以尝试升级matplotlib库和python版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值