绘制隐式方程

5

我需要在 Python3 中绘制一些曲线(我很熟悉 matplotlib.pyplot),但我以前从未绘制过这样的东西,因此我真的很希望能得到一些提示(尤其是如何以“整洁”的方式编写代码)和帮助。

这里有一个示例(让我们画一颗心!):

x^2+(5y/4-sqrt[|x|])^2=1  

我该如何编写这样的东西?我应该将那个公式分割成普通区域然后绘制它们吗?


如果你可以将它转换成 y = f(x) 或者 x = f(t), y = g(t) 的形式,那么或许你可以绘制它。 - furas
2
这个问题比标记为重复的那个更加通用。例如:在这里没有使用Matplotlib的限制。 - Peque
1个回答

9

根据您展示的方程式,您想要绘制一个隐式函数,应该使用等高线图,考虑到 F = x^2G = 1-(5y/4-sqrt[|x|])^2,然后 F-G = 0

import matplotlib.pyplot as plt
import numpy as np

delta = 0.025
xrange = np.arange(-2, 2, delta)
yrange = np.arange(-2, 2, delta)
X, Y = np.meshgrid(xrange,yrange)

# F is one side of the equation, G is the other
F = X**2
G = 1- (5*Y/4 - np.sqrt(np.abs(X)))**2
plt.contour((F - G), [0])
plt.show()

输出: 在此输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接