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

2024-01-22

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

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

我找到了一种从通用公式计算中心、半长轴长度、半短轴长度以及x轴与长轴之间的角度的方法。这是网站:link https://math.stackexchange.com/questions/616645/determining-the-major-minor-axes-of-an-ellipse-from-general-form。 我使用这个方法并编写一个函数来计算参数。 因为我通过绘制椭圆来处理数据。实验数据给了我椭圆的一般方程。我会循环多次(例如,500)并在单个图表上绘制 500 个椭圆。如果你每次都这样做所以我在寻找python是否提供了一种直接从椭圆的一般方程绘制椭圆的方法,而不是每次都计算参数。

Thanks!


With sympy https://docs.sympy.org/1.5.1/index.html,你只需这样做:

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需要**对于幂函数,如^被保留给按位异或 https://python-reference.readthedocs.io/en/latest/docs/operators/bitwise_XOR.html。表达式可以写成3*x**2+2*x*y+4*y**2 - 5或使用方程运算符Eq(3*x**2+2*x*y+4*y**2, 5).

额外参数plot_implicit https://docs.sympy.org/1.5.1/modules/plotting.html可以设置 x 和 y 的范围,如下所示plot_implicit (3*x**2+2*x*y+4*y**2 - 5, (x, -2, 2), (y, -2, 2)).

或者,为了获得更奇特的东西,matplotlibsimshow可以在 x,y 方向上绘制由 z 值着色的完整区域。选择一个发散色彩图 https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html#diverging,椭圆将显示在由 a 指示的中心 z 值处分歧规范 https://matplotlib.org/3.1.0/gallery/userdemo/colormap_normalizations_diverging.html.

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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中根据椭圆的一般方程绘制椭圆 的相关文章

  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • 为什么我的代码不能根据字典解码加密字符串?

    我有一本字典 其中包含代表字母的键和值 例如一个简单的 DICT CODE b g n a p o x d t y 我收到了一个加密代码 并将该字符串转换为一个列表 其中每个项目都是一个单词 我需要根据字典中的项目来解决它 代码示例是 wo
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • 如何在 PyCharm 4.5.2 中使用 PyPy 作为标准/默认解释器?

    如何在 PyCharm 4 5 2 中使用 PyPy 作为标准 默认解释器 一切都在 Ubunutu 14 10 下运行 并且 pypy 已经安装 您可以在项目的设置下进行配置 这个官方文档直接涵盖了 https www jetbrains
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 如何在 robobrowser-python 中发出 POST 请求

    http robobrowser readthedocs org en latest api html http robobrowser readthedocs org en latest api html 我正在尝试使用 APIbrows
  • 将 matplotlib 绘图中的小数点更改为逗号

    我在 Debian 上使用 python 2 7 13 和 matplotlib 2 0 0 我想将 matplotlib 绘图中轴和注释上的小数点标记更改为逗号 然而解决方案发布here https stackoverflow com q

随机推荐

  • 批处理文件从exe获取返回值

    我写了一个简单的C程序DOW exe 返回值是星期几 我的批处理文件需要这个 那么我该怎么做 如何获得返回值 DOW exe 涂 我的批处理文件 不起作用 set day DOW exe echo day Use ERRORLEVEL Li
  • 将 Maven 存储库添加到 build.gradle

    我在 Android Studio 中向 build gradle 添加了自定义 Maven 存储库 但未找到依赖项 Maven 存储库和依赖项
  • 为什么 Java 允许类型不安全的数组赋值?

    一般来说 Java 可以被认为是一种类型安全的语言 我知道泛型存在一些缺陷 但我最近遇到了一个以前从未遇到过的问题 分解它 Object objects new Integer 10 objects 0 Hello World 不会像预期的
  • 涉及错误“赋值之前引用的局部变量...”的简单循环[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 Python 我对此进行了很多研究 但作为初学者 我不理解解决方案 更不用说将它们应用于我的简单问题 def min max xs
  • SQL Server 在同一个表上发生死锁

    我们的应用程序中存在死锁情况的问题 在过去的几天里 我阅读了很多有关阻塞 锁定和死锁的内容 试图了解问题并解决问题 现在 当我阅读有关死锁的错误日志信息时 我无法理解这种情况是如何存在的 看看这个 我已经重命名了表名 但重要的是日志消息中名
  • 检查android listview是否向下滚动到最后一项

    我有一个列表视图 其中有几个项目 我想检查列表是否向下滚动到最后一项 在这种情况下我想运行另一个方法 该怎么做 第一组isLoading false 在构造函数中或onCreate method mListView setOnScrollL
  • PyAudio:如何捕获内部音频(不是来自麦克风)?

    尝试过这样的 p pyaudio PyAudio stream p open format FORMAT channels CHANNELS rate RATE output True frames per buffer chunk all
  • SSIS Oracle 提供商 OLEDB 连接器中的 Oracle Wallet 集成

    我已经在 Windows 7 的机器中成功配置了 Oracle 钱包 我还通过执行以下命令进行了检查 sqlplus myoracleDB 并成功连接到数据库 我正在尝试在我的计算机中执行 SSIS 包 DTSX 版本 2012 在数据流任
  • 如何将 event.preventDefault 与 KnockoutJs 单击事件处理程序一起使用?

    我将下表行作为 KnockoutJs 中的脚本模板
  • jquery 验证:如果提交按钮失去焦点,如何防止模糊(焦点消失)验证

    我有一个文本框 如果在文本框中输入无效值后单击提交按钮 我不希望对模糊进行验证 如果我模糊到任何其他控件 那么我do希望进行验证 Windows 桌面 窗体允许将控件指定为 no causing validation 对于这种具体情况 是否
  • Winston:尝试在没有传输的情况下写入日志

    我正在尝试使用 Winston 为我的 Express 服务器设置访问日志和错误日志 但我似乎做错了什么 这是我对配置文件的尝试 const winston require winston fs require fs const tsFor
  • apt-get 在公司代理后面的 docker 中

    我正在尝试使用 Docker 在企业代理服务器后面设置一个开发环境 尽我所能 我无法让 docker 容器与代理服务器通信 代理服务器和 apt get 在主机 Ubuntu 12 04 上工作正常 Dockerfile 中完成的第一件事是
  • “分组依据”代理模型

    我有理论上无限深度的树模型和一些属性 组 除了标准视图之外 我还需要以这样的方式显示此模型 并保持同步 即每个组都成为具有相同属性值的所有项目的虚拟父级 使用 Qt 的模型 视图架构实现此目的的最佳方法是什么 不久前 我通过在模型中添加 删
  • PHP邮件功能不以html格式发送

    在 PHP 中 我尝试以 HTML 格式发送电子邮件 到目前为止我有这个 subject Password Reminder message Your password is b password b br br br br me mess
  • 单击 ng-grid/ui-grid celltemplate 会导致选择行。

    当我将 celltemplate 用于 ahref 链接时 一旦单击链接 行就会突出显示 因为我启用了 RowSelection 但我不希望在单击链接时突出 显示该行 仅当在除链接之外的任何位置单击该行时 另外 在下面的示例图片中 如何删除
  • windows 8 xaml 内联超链接

    如何在 XAML 中的 Windows 应用商店应用中创建格式正确的超链接 我尝试创建一个内联超链接 并希望使用静态资源对其进行样式设置
  • Checkstyle:尾随空格正则表达式问题

    我正在将 Checkstyle 添加到我的项目中 但检测空格的规则不够好 RegexpSingleline lt S s 它检测尾随空格并仅忽略带有空格的行 它应该允许缩进的空白行 它在大多数情况下工作正常 但它抱怨使用空行的 javado
  • 适用于多种设备的演示技术

    我们的应用程序应该为多种设备提供服务 从简单的智能手机 iPhone 触摸屏到普通浏览器 应用程序是分层的 因此我们可以重用业务层和持久层 然而 我们也想对单个表示层进行编程 例如 我知道 ASP NET 根据浏览器类型生成不同的 html
  • 在 Mac (OS High Sierra) 上安装 Flask-mysqldb (python 3) 时出错

    在按照在线教程创建 Flask Web 应用程序时 我尝试使用以下命令安装 Flask mysqldbsudo pip3 install flask mysqldb 这会导致安装错误 该错误似乎源于依赖性问题 错误信息如下Command u
  • 如何在Python中根据椭圆的一般方程绘制椭圆

    我知道matplotlib可以根据椭圆的中心 半长轴长度 半短轴长度以及x轴和长轴之间的角度来绘制椭圆 但是有没有简单的方法可以像Matlab一样根据椭圆的一般方程绘制椭圆 ezplot 3 x 2 2 x y 4 y 2 5 我找到了一种