首页 > 解决方案 > 除非重新启动 Windows 10,否则 matplotlib 仅绘制一次

问题描述

当我在 Spyder 或 Jupyter Notebook 中运行此代码时,它只运行一次。之后,它显示一个空白图表,里面没有任何绘图。仅当我重新启动 Windows 10 时,该代码才会再次绘制。

import numpy as np
import matplotlib.pyplot as pl

x = np.linspace(0,10,1)
y = np.sin(x)

pl.plot(x,y)

在此处输入图像描述 任何帮助表示赞赏。

标签: pythonmatplotlib

解决方案


Jupyter 和 matplotlib 正在按照您的编程方式工作。

问题是你如何使用np.linspace().

目前,它是

x = np.linspace(0,10,1)

如果你把它打印出来,这就是你会得到的

array([0.])

所以只有一个x值,它被绘制为一个点。

要绘制某些内容,您需要将第三个参数更改为其他内容。这是num要生成的样本数的参数。所以有一个1那里会产生一分。

所以尝试这样的事情

x = np.linspace(0, 10, 100)
y = np.sin(x)

pl.plot(x,y)

在此处输入图像描述

https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html的文档np.linspace()


推荐阅读