Python matplotlib中的(隐式)方程绘图系统

Python matplotlib中的(隐式)方程绘图系统,python,matplotlib,plot,Python,Matplotlib,Plot,首先,我对python和matplotlib还不熟悉。我需要在一个图中绘制几个隐式方程组 方程式的形式为: 3x+2y=1 除了首先使方程显式化(即y=…),还有没有一种简单的方法来绘制这些曲线 您可以使用在两个空间维度中进行隐式打印: x = numpy.linspace(-2., 2.) y = numpy.linspace(-2., 2.)[:, None] contour(x, y.ravel(), 3*x + 2*y, [1]) 在三维空间中,我建议使用而不是matplotlib。

首先,我对python和matplotlib还不熟悉。我需要在一个图中绘制几个隐式方程组

方程式的形式为:

3x+2y=1
除了首先使方程显式化(即
y=…
),还有没有一种简单的方法来绘制这些曲线

您可以使用在两个空间维度中进行隐式打印:

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

在三维空间中,我建议使用而不是matplotlib。

对于三维空间,我建议使用。(我将删除我的答案,因为你的答案有一张图片:)@Sven Marnach:我喜欢你的解决方案,因为它使用更少的内存。也许取消删除它?好的,根据你们的特殊要求:)谢谢你们两位。然而,有一件事似乎是错的;例如,3x+2y=1&3x+4y=5应该在(-1,2)处截取。然而,MPL给med一个交点(2,-1)。有什么问题?澄清一下-上面的图表与y=(1-3x)/2(3x+2y=1的显式版本)的图表不同,因此交点是错误的。这是主要的问题-你的解决方案没有给出正确的图表。嗯。。这似乎生成了一个不同于y=(1-3x)/2的图形,而y=(1-3x)/2的图形应该是相同的。你知道为什么吗?@mewoshh:请出示你的确切密码好吗?它应该类似于轮廓(x.ravel(),y,y-(1-3*x)/2[0])。图形应该与上述代码相同。它与轮廓(x.ravel(),y,y-(1-3*x)/2,[0])相同。问题在于,这与
y=(1-3x)/2
的实际图形不同。与
x=np.arange(-6,6,0.01)进行比较;y=(1-3*x)/2;绘图(x,y)
@mewoshh:你说得对,行和列都混淆了!将在一秒钟内更正…它绘制了转置图。现在修好了。
x = numpy.linspace(-2., 2.)
y = numpy.linspace(-2., 2.)[:, None]
contour(x, y.ravel(), 3*x + 2*y, [1])