我试图绘制一个简单的自定义sinc
函数,定义如下(改编自Oliphant关于科学计算的Python的一篇旧论文):
from math import sin, pi
import NumPy as np
def sinc(x):
'''Compute the sinc function: sin(pi*x)/pi*x'''
try:
return sin(x)/x
except ZeroDivisionError:
return 1.0
output = [sinc(x) for x in input]
为了绘制它(逐点,在每个新计算的sinc值之后重新绘制/更新),我尝试了以下代码:
^{pr2}$其中plt
是通常的matplotlib.pyplot
,pl
是NumPy
。我可以看到matplotlib
框,轴和轴的限制都在增加,但绘图根本没有被打印/绘制/打印/显示(如下图所示)
我不知道你的问题是什么,它是否在使用plt.绘图而不是图,或在范围(0,1000)上绘制,而不是较小的范围,例如(0,2*pi)。也可能是您初始化
pl
的情况很糟糕。也许你需要设置plt.ion()
。不过,我还是设法让它发挥作用了结果(等待一段时间后)
现在,您将在每个迭代中创建一个单点绘图。要查看点,请在绘图中添加一个标记(https://matplotlib.org/api/markers_api.html#module-matplotlib.markers)。在
如果您的目的是创建所有点的曲线图,那么可以在循环之后创建绘图,并将listpl作为第一个参数:
^{pr2}$相关问题 更多 >
编程相关推荐