import matplotlib.pyplot as plt
import numpy as np
# 创建可以返回心形函数表达式的函数
def f(x, y):
return x**2+(y-np.cbrt(x**2))**2
# 设置x,y的范围 在(-10,10)之间取100个点
x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
# 将xy的值对应起来 类似100*100的二维矩阵 类似网格
x, y = np.meshgrid(x, y)
# z可以理解成是等高线的高度
z = f(x, y)
# 将等高线表示出来
plt.contour(x, y, z)
plt.show()
下面就是最终得到的效果
对我来说,画等高线最重要的就是要知道等高线可以看作是立体图形在三维空间上的投影,同一高度的各点在同一等高线上面。