我处理地理信息并使用以下方式呈现结果
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()
最佳答案
看来我找到了解决办法。 我在这里找到了它:How can I set the aspect ratio in 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()
关于python - matplotlib 和地理数据图的纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18873623/