在matplotlib中绘制(隐式)方程组

6 投票
2 回答
4594 浏览
提问于 2025-04-16 09:57

首先,我是python和matplotlib的新手。我需要在一个图中绘制几个隐式方程的系统。

这些方程的形式是:

3x+2y=1

有没有简单的方法可以绘制这些方程,而不需要先把方程变成显式的形式(也就是说,y=...)?

2 个回答

7
import numpy as np
import matplotlib.pyplot as plt
# Note the order of y,x.
y,x=np.ogrid[-5:5:100j,-5:5:100j]
plt.contour(x.ravel(),y.ravel(),3*x+2*y,[1])
plt.show()

alt text

4

你可以使用 contour() 来绘制二维的隐式图形:

x = numpy.linspace(-2., 2.)
y = numpy.linspace(-2., 2.)[:, None]
contour(x, y.ravel(), 3*x + 2*y, [1])

如果你想绘制三维图形,我建议使用 Mayavi,而不是 matplotlib。

撰写回答