python之matplotlib中plt.show()不显示

查看自己后端显示工具:

notebook运行:

%pylab

看显示是什么?

我的:

于是:%matplotlib qt5,代码如下:

import math
import random
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
%matplotlib qt5

# set up matplotlib
is_ipython = 'inline' in matplotlib.get_backend()
if is_ipython:
    from IPython import display

plt.ion()

def plot_durations(i, y1, y2):
    plt.figure(2)
#     plt.clf() 此时不能调用此函数,不然之前的点将被清空。
    plt.subplot(211)
    plt.plot(i, y1, '.')
    plt.subplot(212)
    plt.plot(i, y2, '.')

    plt.pause(0.001)  # pause a bit so that plots are updated
    if is_ipython:
        display.clear_output(wait=True)
        display.display(plt.gcf())
        
x = np.linspace(-10,10,500)
y = []
for i in range(len(x)):
    y1 = np.cos(i/(3*3.14))
    y2 = np.sin(i/(3*3.14))
#     y.append(np.array([y1,y2])) #保存历史数据
    plot_durations(i, y1, y2)

但是图还是显示在外面,只有显示结束之后才会停留在notebook里面。结果未知。

# set up matplotlib
is_ipython = 'qt5' in matplotlib.get_backend()   #这里改成qt5效果还是如上
if is_ipython:
    from IPython import display

 

在vscode使用matplotlib绘制图形时,当调用plt.show()方法时可能会出现图形不显示的情况。这主要是因为vscode默认使用的Python解释器与matplotlib不兼容所导致的。 解决这个问题的方法有以下几种: 1. 确保使用正确的Python解释器:打开vscode的终端,使用命令"which python" 或 "where python" 来查看当前使用的Python解释器的路径。确保路径与你安装matplotlib时使用的Python解释器路径一致。 2. 检查matplotlib版本:确保你安装的matplotlib版本是最新的。可以使用命令"pip show matplotlib"来查看已安装的matplotlib版本,并尝试升级到最新版本。 3. 更改绘图后台:在代码添加如下一行代码可以尝试更改绘图的后台。例如使用TkAgg或者QtAgg后台绘图: import matplotlib matplotlib.use('TkAgg') 4. 打开vscode的"settings.json"文件并添加以下一行设置来修改vscode的用户设置: "python.show.plot.figure.automatic": false 这将禁用vscode自动显示绘图,需要手动调用plt.show()方法来显示图形。 5. 在vscode使用其他绘图库:除了matplotlib,还有其他绘图库如seaborn、plotly、bokeh等。尝试使用其他绘图库来代替matplotlib,可能会解决图形不显示的问题。 以上方法任意一种都可能解决vscodematplotlib显示图形的问题。选择适合你的情况的方法进行尝试。如果问题仍未解决,建议查阅相关的文档或者在社区论坛寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值