1

地理情報を処理し、matplotlib を使用して結果を表示します。すべての入力は緯度/経度 [度] です。計算のために x/y [メートル] に変換します。結果を緯度/経度で表示します。問題は、グラフのアスペクト比を正しくすることです。すべてのグラフが広すぎます。
緯度/経度を使用して散布図やその他の図を簡単に描画し、結果が正しい形状になるように、正しいアスペクト比を設定する標準的な手順はありますか? 画面上と紙上 (png)?

[この部分を後で追加] これは、私の問題の必要最小限のバージョンです。軸の周りの実際の緯度/経度値と正確な形状 (正方形) が必要です。現在はワイド (2x) に見えます。

import math
import matplotlib.pyplot as plt
import numpy as np
from pylab import *

w=1/math.cos(math.radians(60.0))
plt_area=[0,w,59.5,60.5] #60deg North, adjacent to the prime meridian

a=np.zeros(shape=(300,300))

matshow(a, extent=plt_area)

plt.grid(False)
plt.axis(plt_area)
fig   = plt.gcf()
fig.set_size_inches(8,8)
fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)

plt.show()
4

3 に答える 3

2

解決策を見つけたようです。そして、私はここでそれを見つけました:どうすればmatplotlibでアスペクト比を設定できますか?

import math
import matplotlib.pyplot as plt
import numpy as np

w=1/math.cos(math.radians(60.0))
plt_area=[0,w,59.5,60.5] #square area

a=np.zeros(shape=(300,300))

fig = plt.figure()
ax = fig.add_subplot(111)

ax.imshow(a)

plt.grid(False)
ax.axis(plt_area)
fig   = plt.gcf()
fig.set_size_inches(8,8)
ax.set_aspect(w)
fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)

plt.show()
于 2013-09-20T13:47:10.960 に答える