python - 在 Matplotlib 上绘图时出现问题

标签 python numpy matplotlib plot anaconda

我在使用 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()

沃尔夫拉姆

Function plotted by wolfram

Matplotlib。

Function plotted by 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()

产量

enter image description here

关于python - 在 Matplotlib 上绘图时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908562/

相关文章:

python - 在 Pandas 中查找数字列名称

python - 内存错误:- How to get data from one dataframe to another using one common ID column?

Python matplotlib - Linux 上的大窗口

pandas - 我如何使用 scipy optimize curve fit with panda df

python - 在特定坐标上添加图像(OpenCV、matplotlib)

python - django.db.utils.OperationalError : no such table: auth_user

javascript - 复杂 HTML 的数据表导出(python 变形)

python - 引用numpy结构化数组中的字段与整个数组的大小相同

python - Pandas:数据帧错误 - 传递了 2 列,传递的数据有 3 列

python - 随机打乱每行 numpy 数组中的项目