在同意情节中,如何获得具有固定宽高比的情节?

Ale*_*son 6 python plot sympy

如果我用这个片段绘制一个圆圈

from sympy import *
x, y = symbols('x y')        
p1 = plot_implicit(Eq(x**2 +y**2, 1),aspect_ratio=(1.,1.))
Run Code Online (Sandbox Code Playgroud)

我会得到一个像这样的数字窗口

在此输入图像描述

现在纵横比不是我所期待的,因为我看到的是椭圆而不是圆形.此外,如果我改变窗口的纵横比(拖动窗口的右下角),我也会改变绘图的纵横比...下面的图像是我按顺序拖动角落后得到的图像看一个圆圈:

在此输入图像描述

我希望得到像你在Matlab中得到,当你设置一个情节axis equal,看到http://it.mathworks.com/help/matlab/creating_plots/aspect-ratio-for-2-d-axes.html当你绘制一个椭圆

在此输入图像描述

我错过了什么?

我正在使用Jupyter,笔记本服务器的版本是4.1.0并且正在运行:Python 2.7.11 | Anaconda 2.5.0(64位)| (默认,2015年12月6日,18:08:32)[GCC 4.4.7 20120313(红帽4.4.7-1)]

小智 1

现在,在 2019 年 9 月,此代码可以运行:

\n\n
import matplotlib.pyplot as plt\nimport sympy\n\nx, y = sympy.symbols(\'x y\')\n\nplt.ion() #interactive on \n\np1 = sympy.plot_implicit(sympy.Eq(x**2 +y**2, 4), block = False)\n\nfg, ax = p1._backend.fig, p1._backend.ax  # get matplotib\'s figure and axes\n\n# Use matplotlib to change appearance:\nax.axis(\'tight\')  # list of float or {\xe2\x80\x98on\xe2\x80\x99, \xe2\x80\x98off\xe2\x80\x99, \xe2\x80\x98equal\xe2\x80\x99, \xe2\x80\x98tight\xe2\x80\x99, \xe2\x80\x98scaled\xe2\x80\x99, \xe2\x80\x98normal\xe2\x80\x99, \xe2\x80\x98auto\xe2\x80\x99, \xe2\x80\x98image\xe2\x80\x99, \xe2\x80\x98square\xe2\x80\x99}\nax.set_aspect("equal") # \'auto\', \'equal\' or a positive integer is allowed\nax.grid(True)\nplt.ioff() #interactive off\nplt.show()\n
Run Code Online (Sandbox Code Playgroud)\n