问题

I have a few questions about what how to work with graphics, using Sympy.

My code:

from sympy import *

x, y = symbols("x y")

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

1) The graph is obtained stretched along the x axis.

How to make so that the curve looked like a circle?

2) How to add other elements to the chart. For example, the point O(0, 0) and the line y = x.

回答1:

According to the docstring of plot.py, you can get the backend wrapper of the Matplotlib axes and figure that SymPy uses, through _backend attribute, and then modify properties as any other Matplotlib objects. Check this example:

import matplotlib.pyplot as plt

import numpy as np

%matplotlib notebook

from sympy import *

x, y = symbols("x y")

hp = plot_implicit(Eq(x**2 + y**2, 4), (x, -3, 3), (y, -3, 3))

fig = hp._backend.fig

ax = hp._backend.ax

xx = yy = np.linspace(-3,3)

ax.plot(xx,yy) # y = x

ax.plot([0],[0],'o') # Point (0,0)

ax.set_aspect('equal','datalim')

fig.canvas.draw()

The Sympy Plot objects have append and extend methods that allows add a Plot object to other, but this don't work (at least for me and using Jupyter).

Another option is use only Matplotlib:

import matplotlib.pyplot as plt

import numpy as np

fig, ax = plt.subplots(1,1)

xx,yy = np.linspace(-3,3), np.linspace(-3,3)

x,y = np.meshgrid(xx,yy)

ax.contour(x, y, (x**2+y**2-4), [0]);

ax.plot([0],[0],"o")

ax.plot(xx,yy)

ax.set_aspect('equal','datalim')

来源:https://stackoverflow.com/questions/40747474/sympy-and-plotting

pythonplotting,Sympy and plotting相关推荐

  1. Python——利用sympy模块进行数学计算

    参考链接: SymPy简易教程 SymPy库常用函数 Python sympy 模块常用功能(一) Python科学计算库SymPy初探 简介 SymPy是一个符号计算的Python库.它的目标是成为 ...

  2. 「SymPy」实战之Maxwell分布律分子最概然、均方根与平均速率

    目录 0 导言 1 Maxwell速度分布律 2 SymPy推导特征速度 2.1 导入库和方法 2.2 初始化输出 2.3 定义符号 2.4 设置符号替换 2.5 定义分布律 2.6 分布律作图 2. ...

  3. gitmodel学习笔记(一):利用sympy分析高等数学

    引言 本篇是在复习到中途参加的一个关于gitmodel的学习活动,本系列分为三个部分,分别为高等数学.线性代数以及概率论与数理统计.本篇为第一篇--利用sympy分析高等数学,看完活动文档,查找了相关 ...

  4. 数学——函数极限知识以及sympy库的limit

    函数极限与Sympy库 欢迎访问我的博客 这部分可以参考sympy库中的limit 在$z_0$点处计算$e(z)$函数的极限 \(\lim_{z \to z_0} e(z)\) = limit(e, ...

  5. python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...

  6. Python符号计算库sympy使用笔记

    介绍 sympy是一个非常好用的基于Python的符号计算库,科技做微分.积分.极限等一系列高等数学运算,可以帮我们自动的进行符号化计算,即带入运算的不是某个具体的数值, 而是抽象的数学符号, 并且还 ...

  7. python 序列化函数_python – 如何序列化sympy lambdified函数?

    你实际上可以用莳萝来腌制它.最新版本的dill(例如在github上)具有"设置",允许变换如何在转储上构建pickle.是的,dill的默认设置在此对象上失败,但如果使用递归跟踪 ...

  8. R语言plotly可视化:使用PCA算法进行数据降维、使用plotly可视化随着主成分的增加解释的方差的量(plotting explained variance)

    R语言plotly可视化:使用PCA算法进行数据降维.使用plotly可视化随着主成分的增加解释的方差的量(plotting explained variance) 目录

  9. python解多项式方程_python – SymPy不能求解四阶多项式方程

    我有一个四阶多项式方程,我需要找到所有的根. 简单的例子: from sympy import (Symbol,solve,I) a=4+5*I; b=3+7*I; c=12-56*I; d=33+5 ...

  10. 5.4Python数据处理篇之Sympy系列(四)---微积分

    目录 目录 前言 (一)求导数-diff() 1.一阶求导-diff() 2.多阶求导-diff() 3.求偏导数-diff() (二)求积分-integrate() (三)求极限-limit() ( ...

最新文章

  1. 开关面板如何自己印字_如何自己动手做一个智能开关
  2. maven 更改项目名称
  3. Dynamics CRM中的操作(action)是否是一个事务(transaction)?
  4. git服务的安装和使用
  5. oracle级联备库创建,ORACLE 11G 备库传备库级联传递(cascade dg) 的配置方法
  6. Linux 上 GDM 登录界面如何适应高分屏
  7. Git复习(十一)之常见命令用法
  8. android 横向stepview,Android 流程指示器 StepView
  9. JAVA标识符和命名规则
  10. Adobe Photoshop CC 打开时报错~配置错误:请卸载并重新安装该产品
  11. Android开发笔记(一百一十二)开发工具
  12. windows server2012 图形加速,玩游戏不掉帧
  13. Java高并发之CountDownLatch源码分析
  14. 学习笔记: Django之初见
  15. 设计一个具有大纯时延时间的一阶惯性环节的计算机控制系统,一阶惯性环节的计算机控制课程设计【参考】.doc...
  16. 2021级研究生人工智能高级语言程序设计考试说明
  17. 论文笔记——分布式深度学习框架下基于性能感知的DBS—SGD算法
  18. U盘重装win10系统专业版——启动盘制作
  19. 38、稀疏矩阵的十字链表表示和创建
  20. 为什么要背诵新概念英语?

热门文章

  1. 切片函数python_python切片操作
  2. 51ditu地图频道接口(MapOne API)详细的参数说明表
  3. 常见硬盘接口技术:从IDE、SCSI到SATA、SAS再到M.2、PCIe
  4. ERL(evolutionary reinforcement learning)
  5. 交换机端口mtu值最大_-【SDN】交换机MTU配置总结
  6. c语言FD_SET头文件,select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
  7. 计算机演示文稿实验报告,演示文稿实验报告
  8. electron + fluent-ffmpeg推送桌面、音视频、窗口
  9. 数据、变量、内存三者之间的关系
  10. vs code实现网页自动刷新