2015-04-30 134 views
1

我正在繪製數據並將其保存到文件中。如何增加保存圖形的大小,同時保持matplotlib的寬高比?

import matplotlib.pyplot as plt 
fig=plt.figure(figsize=(10,10)) 
plt.gca().set_aspect(1) 
plt.scatter(range(10), range(0,20,2)) 
fig.savefig("test.jpg") 

有一種簡單的方法,使該圖中的尺寸較大,但不必猜測高度/寬度值,以保持寬高比爲軸心?

如果我有多個子圖,並且我想保持它們的固定軸比率,那將更加困難。我想控制圖形的大小(比例),但不能在圖中引入空白邊框。

回答

2

一種方法是用.set_size_inches設置新的數字大小:

zoom = 2 
w, h = fig.get_size_inches() 
fig.set_size_inches(w * zoom, h * zoom) 

,同時保持這種比例應當改變大小。

另一種方法是增加dpi如果您需要才挽回圖不同大小:

fig, ax = plt.subplots(figsize=(10,10)) 
ax.set_aspect(1) 
ax.scatter(range(10), range(0,20,2)) 
dpi = fig.get_dpi() # This will get dpi that is set matplotlibrc 
fig.savefig("test.jpg", dpi=dpi*2) # Multiply dpi by whatever ration you want to increase the figure 
相關問題