【问题标题】:Python / Matplotlib / plotting a functionPython / Matplotlib / 绘制函数
【发布时间】:2020-12-18 04:45:55
【问题描述】:

我需要用 python 绘制以下函数。

fx =(x**4 - 7*x**3 + 15*x**2 - 21*x + 36) / (x**2-7*x+6)

当我使用 Matplotlib 绘制它时,它给了我这个...

输出python

但根据 Geogebra,它应该是这样的。

输出geogebra

Python 代码:(将 x 定义为上面的 sympy 符号)

x = numpy.linspace(-10, 10, 100)
fx =(x**4 - 7*x**3 + 15*x**2 - 21*x + 36) / (x**2-7*x+6)

plt.plot(x,fx)
plt.xlabel("x")
plt.ylabel("y")
plt.title('f(x)')
plt.grid()
plt.show()

我是使用 Matplotlib lib 的新手,所以这可能是一些非常愚蠢的事情(o_o)......但我希望有人能给我提示如何解决它或帮助我:)

谢谢!

“解决方案”

【问题讨论】:

    标签: python matplotlib plot


    【解决方案1】:

    看起来是同一张图,但 x 轴和 y 轴的限制不同。

    您可以使用plt.xlimplt.ylim (doc) 设置它们

    在你的情况下:

    plt.xlim(-15, 15)
    plt.ylim(-25, 25)  
    

    【讨论】:

    • @itaishz 除了连接两部分函数的竖线外,这个区域的数据是一样的
    • 我不这么认为? matplotlib 图的渐近线约为 x=6,而 geogebra 的渐近线约为 x=1。并且曲线在两个图上从不同方向接近渐近线(意味着相对于渐近线的正侧在一个图中变为 +inf,在另一个图中变为 -inf)。 wolframalpha plot 证明 geogebra 图是正确的。
    • 成功了!看起来他们是一样的。现在我只需要摆脱“垂直线”...... :) 谢谢
    • 我添加了一张“正确”的python图的图片。
    • @itaishz 是的,这对我来说也很奇怪...... matplotlib 图中 x=1 处的那些摆动也是渐近线 - 但它们看起来不像在这张图中,因为 matplotlib出于某种原因没有把它们一直画出来
    猜你喜欢
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2015-01-21
    • 2010-11-27
    相关资源
    最近更新 更多