python - 如何在 Python 中绘制二元多项式函数

标签 python matplotlib

如何在 Python 中绘制二次双变量表达式?例如,以下表达式:

-0.5x^2 - 0.5y^2 +0.5 xy + x + y + 0.3 = 0 
是否有必要将其转换为 Polar 系统?

最佳答案

这是一种使用 sympy 的方法,Python的符号数学库:

from sympy import symbols, Eq
from sympy.plotting import plot_implicit

x, y = symbols('x y')
plot_implicit(Eq(-0.5*x**2 - 0.5*y**2 + 0.5*x*y + x + y + 0.3, 0))
plot_implicit
使用 numpy 和 matplotlib,您可以创建坐标网格并调用 plt.contour轮廓级别为 0:
import matplotlib.pyplot as plt
import numpy as np

x1d = np.linspace(-1, 5, 50)
y1d = np.linspace(-1, 5, 50)
x, y = np.meshgrid(x1d, y1d)
f = -0.5 * x ** 2 - 0.5 * y ** 2 + 0.5 * x * y + x + y + 0.3
fig, ax = plt.subplots()
ax.contour(x, y, f, levels=[0], colors='dodgerblue')
ax.scatter(x=[0.24881, 3.75119], y=[0.24881, 3.75119], color='crimson') # draw two points in matplotlib
ax.set_aspect('equal')
plt.show()
example plot

关于python - 如何在 Python 中绘制二元多项式函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66577256/

相关文章:

python - 我在使用 im.show() 时遇到错误

python - Matplotlib set_color_cycle 与 set_prop_cycle

python - 如何使 pip 指向 python 3.7 而不是 python 3.6 的 pip?

python - 无法在Python中使用WlanGetAvailableNetworkList获取所有可用网络

python - 在Python中使用不同的查询选择MySQL中的不同列以获取相同的函数

python - 根据 matplotlib 中的分类变量更改颜色

python - 如何在 y 轴上绘制日期,在 x 轴上绘制小时?

python - 可以仅在python中使用hadoop吗?

python - 无法使用pip安装pyinstaller

python - 在 matplotlib 中传递用于绘图的元组会在第 10 行抛出 "Tuple Object is not callable"错误。 3个