+-
今天我决定用 Python编写简单的程序,只是为了在考试之前练习.首先,我想绘制罪和cos的情节,这并不是那么难.但后来,我决定挑战自己,画出切线的情节.
import pylab as p
x= p.arange(-1.0,1.0,0.1)
y= (p.sin(2*p.pi*x)) / (p.cos(2*p.pi*x))
p.plot(x,y,'g-',lw=1)
p.show()
它返回……呃……这个:
如您所见,它看起来更像是ECK图而不是切线图.有谁知道什么是错的?
最佳答案
如果增加x中的点数,
import pylab as p
import numpy as np
x = p.linspace(-1.0, 1.0, 1000)
y = (p.sin(2 * p.pi * x)) / (p.cos(2 * p.pi * x))
p.plot(x, y, 'g-', lw=1)
p.show()
你得到这样的东西:
注意y范围有多大. Matplotlib无法显示切线曲线中的大部分小值,因为范围太大.
通过忽略渐近线附近的极大值可以改善该图.使用Paul’s workaround来处理渐近线,
import pylab as p
import numpy as np
x = p.linspace(-1.0, 1.0, 1000)
y = (p.sin(2 * p.pi * x)) / (p.cos(2 * p.pi * x))
tol = 10
y[y > tol] = np.nan
y[y < -tol] = np.nan
p.plot(x, y, 'g-', lw=1)
p.show()
你得到
点击查看更多相关文章
转载注明原文:在Python中绘制切线图(matplotlib) - 乐贴网