簡體   English   中英

如何使用Spyder在Python中設置繪圖的寬高比?

[英]How do I set the aspect ratio for a plot in Python with Spyder?

我是Python的新手,我剛從Matlab切換。 該發行版是Anaconda 2.1.0,我正在使用它附帶的Spyder IDE。

我正在嘗試在x和y軸上制作具有相等比率的散點圖,以便此代碼打印一個正方形圖形,其內部繪制正六邊形的頂點。

import numpy
import cmath
import matplotlib

coeff = [1,0,0,0,0,0,-1]
x = numpy.roots(coeff)

zeroplot = plot(real(x),imag(x), 'ro')
plt.gca(aspect='equal')
plt.show()

但是plt.gca(aspect='equal')返回一個帶有軸[0,1,0,1]的空白數字,而plt.show()返回任何內容。

我認為主要問題是plt.gca(aspect='equal')不只是抓住當前軸並設置其縱橫比。 從文檔中,( help(plt.gca) )如果當前的軸沒有正確的寬高比,它似乎會創建一個新軸,所以立即修復它應該是替換plt.gca(aspect='equal')用:

ax = plt.gca()
ax.set_aspect('equal')

我還要提一下,我在運行代碼時遇到了一些麻煩,因為你正在使用pylab自動加載numpymatplotlib函數:我不得不將我的版本更改為:

import numpy
import cmath
from matplotlib import pyplot as plt

coeff = [1,0,0,0,0,0,-1]
x = numpy.roots(coeff)

zeroplot = plt.plot(numpy.real(x), numpy.imag(x), 'ro')
ax = plt.gca()
ax.set_aspect('equal')
plt.show()

根據我的經驗,熟悉Python的人通常不會使用Pylab。 將來,如果人們沒有意識到您正在使用Pylab或者不熟悉它的工作方式,您可能會發現很難獲得幫助。 我建議禁用它並嘗試習慣通過各自的模塊訪問所需的功能(例如使用numpy.real而不僅僅是real

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM