簡體   English   中英

如何更改縱橫比相等的地塊的大小?

[英]How to change the size of plot with equal aspect ratio?

似乎不能同時設置相等的軸比例和設置圖的大小。 我正在做的是:

fig = pl.figure(figsize=(20,20))
ax = fig.add_subplot(111)
ax.set_aspect('equal')

如果我刪除figsize則繪圖似乎具有相等的比例,但是使用figsize ,則繪圖會具有較大的比例,但是比例不再相等。

編輯:圖形不一定必須是正方形,只是更大..請假設我現在沒有確切的軸比例

有什么辦法嗎?

謝謝

如果你想改變的數據限制,使軸廣場,加datalim您的來電set_aspect

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

如果要更改縮放比例以使限制不同但軸看起來是正方形,則可以計算軸尺寸比並顯式設置:

ax.set_aspect(1./ax.get_data_ratio())

例如

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(7,7))
ax = fig.add_subplot(111)

x = np.linspace(0,np.pi,1000)
y = np.sin(3*x)**2
ax.plot(x,y)
ax.set_aspect('equal', 'datalim')
plt.show()

在此處輸入圖片說明

要么

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(7,7))
ax = fig.add_subplot(111)

x = np.linspace(0,np.pi,1000)
y = np.sin(3*x)**2
ax.plot(x,y)
ax.set_aspect(1./ax.get_data_ratio())
plt.show()

在此處輸入圖片說明

暫無
暫無

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

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