如何在Python中根据椭圆的一般方程式绘制椭圆

马库斯

我知道matplotlib可以根据其中心,半长轴长度,半短轴长度以及x轴和长轴之间的角度绘制椭圆。但是有什么简单的方法可以像Matlab一样根据其一般等式绘制椭圆:

ezplot('3*x^2+2*x*y+4*y^2 = 5')

我找到了一种从通用公式计算中心,半长轴长度,半短轴长度以及x轴与长轴之间的角度的方法。这是网站:链接我使用这种方法并编写一个函数来计算参数。因为我是通过绘制椭圆来处理数据,实验数据为我提供了椭圆的一般方程式,所以我会循环很多次(例如500次)并在单个图形上绘制500个椭圆。因此,我正在寻找python是否提供一种直接从椭圆的一般方程式绘制椭圆的方法,而不是每次都计算参数。

谢谢!

约翰·C

使用sympy,您只需执行以下操作:

from sympy import plot_implicit, Eq
from sympy.abc import x, y

plot_implicit (Eq(3*x**2+2*x*y+4*y**2, 5))

请注意,Python需要**幂函数,这^按位xor保留的该表达式可以写为3*x**2+2*x*y+4*y**2 - 5或使用方程运算符Eq(3*x**2+2*x*y+4*y**2, 5)

plot_implicit可以像一样设置额外的参数来设置x和y的范围plot_implicit (3*x**2+2*x*y+4*y**2 - 5, (x, -2, 2), (y, -2, 2))

另外,为了获得更多效果,matplotlibsimshow可以在x,y中绘制一个由z值着色的完整区域。选择发散的颜色图,椭圆将出现在发散范数指示的中心z值处

import numpy as np
from matplotlib import pyplot as plt
import matplotlib.colors as mcolors

xmin, xmax = -2, 2
ymin, ymax = -2, 2
x, y = np.meshgrid(np.linspace(xmin, xmax, 500), np.linspace(ymin, ymax, 500))
z = 3*x**2+2*x*y+4*y**2

divnorm = mcolors.DivergingNorm(vmin=z.min(), vcenter=5, vmax=z.max())

#plt.contourf(x, y, z, levels=15, norm=divnorm, cmap='seismic')
plt.imshow(z, interpolation='bilinear', norm=divnorm, cmap='seismic', origin='lower', extent=[xmin, xmax, ymin, ymax])

plt.colorbar()
plt.show()

样例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我需要解决集合元素的并集的一般方程式,以计算python中集合的可能性

来自分类Dev

如何在Python中绘制半椭圆?

来自分类Dev

如何在Python中从一组线性方程式绘制平面?

来自分类Dev

如何在Gnuplot中绘制复杂方程式

来自分类Dev

如何在乌龟图形(python)中绘制椭圆/椭圆形?

来自分类Dev

如何在乌龟图形(python)中绘制椭圆/椭圆形?

来自分类Dev

如何在 Highchart 图上绘制椭圆(椭圆)

来自分类Dev

如何绘制方程式

来自分类Dev

如何在python中设置方程式

来自分类Dev

如何在Python中编写此方程式?

来自分类Dev

如何在python中实现这个方程式?

来自分类Dev

Word 2016:当方程式在表格的一列中时,如何在=符号上对准方程式

来自分类Dev

如何在R中绘制3d参数方程式?

来自分类Dev

如何在R中绘制3d参数方程式?

来自分类Dev

如何在MATLAB中绘制非线性方程式?

来自分类Dev

如何在Python上通过等式绘制椭圆?

来自分类Dev

如何在JLabel中绘制椭圆形图像

来自分类Dev

如何在Maxima CAS中绘制旋转椭圆?

来自分类Dev

如何在图像中的对象周围绘制椭圆形

来自分类Dev

如何在JLabel中绘制椭圆形图像

来自分类Dev

使用SymPy一般解析和求解方程式

来自分类Dev

如何在面板顶部绘制椭圆?

来自分类Dev

如何在PCA图周围绘制椭圆?

来自分类Dev

如何绘制椭圆轴

来自分类Dev

Python和Matplotlib:如何绘制椭圆?

来自分类Dev

如何使用MVP在OpenGL中绘制椭圆

来自分类Dev

如何在iOS中求解方程式

来自分类Dev

如何在MathJax中左对齐某些方程式

来自分类Dev

如何在离子5中编写数学方程式?