我在使用 python matplotlib 创建函数的基本绘图时遇到问题,在 Wolfram alpha 和其他绘图引擎中,最终的绘图似乎与我通过 matplotlib 创建的绘图有很大不同。
我按照 matplotlib 中的示例进行操作,只是将 np.sin(x) 函数替换为我需要绘制的函数。
我正在使用多个函数,因此这是我需要绘制的第一个函数,但它根本不起作用。
这是我正在使用的代码以及前面的绘图比较。
__author__ = 'alberto'
#
import numpy
import matplotlib.pyplot as plt
#
x = numpy.arange(-20, 20, 0.1)
y = ((3*x**2) + 12/(x**3) - 5)
plt.plot(x, y)
plt.show()
沃尔夫拉姆
Matplotlib。
我正在使用 Anaconda Python(2.7.8)。
祝你有美好的一天!!!
最佳答案
您可以通过将 nan
分配给极值,对 plt.plot 进行一次调用,生成两条断开的曲线(从而处理渐近线)。 Mathematica 会自动为您处理这个问题; matplotlib 需要你做一些工作:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-20, 20, 1000)
y = ((3*x**2) + 12/(x**3) - 5)
mask = np.abs(y) > 100
y[mask] = np.nan
plt.plot(x, y)
plt.grid()
plt.show()
产量
关于python - 在 Matplotlib 上绘图时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908562/