matplotlib
의 basemap
API에서 머리를 감싸려고합니다. 제가 원했던 것은 원통형 투영법상의 매우 작은 영역 (양쪽 방향으로 2km)의 위도와 경도 데이터를 플롯하는 것입니다.matplotlib basemap의 데이터 제한 설정
문제는 이해 할 수없는거야, 얼마나 llcrnrlon
, llcrnrlat
, urcrnrlon
과 Basemap
생성자 작업에 urcrnrlat
매개 변수를 설정합니다.
는 지금까지 내가 그것을 이해의 llcrnrlon
서쪽 가장 경도이며 llcrnrlat
는 남쪽 대부분의 위도와 urcrnrlon
및 urcrnrlat
동쪽 가장 북쪽 가장 경도이며, 각각 위도.
이 모든 경우 좌표가 주어지면 (숫자로) 가장 작은 경도가 가장 서쪽이며 가장 작은 위도가 가장 남쪽이며 그 반대도 마찬가지입니다. 이 이해가 맞습니까?
기본 Axes
개체에서 xlim 및 ylim을 설정하여 플롯 작업을 할 수 있지만 basemap 생성자에서 동일한 값을 사용하면 데이터가 플롯에서 벗어나는 것 같습니다.
EDIT : 문제점의 재생을 위해 다음 코드를 볼 아래 도면에서
from matplotlib import pyplot
from mpl_toolkits import basemap
import random
lat_bounds = 52.063443, 52.072587
long_bounds = 1.010408, 1.024502
ax1 = pyplot.subplot(121)
ax2 = pyplot.subplot(122)
ax1.set_title('With ll* rr*')
ax2.set_title('With default values')
my_map1 = basemap.Basemap(projection='cyl', llcrnrlat=lat_bounds[0], llcrnrlon=long_bounds[0],
urcrnrlat=lat_bounds[1], urcrnrlon=long_bounds[1], ax=ax1)
my_map2 = basemap.Basemap(projection='cyl', ax=ax2)
data_lats = [random.uniform(*lat_bounds) for i in xrange(50)]
data_lons = [random.uniform(*long_bounds) for i in xrange(50)]
my_map1.plot(data_lats, data_lons)
my_map2.plot(data_lats, data_lons)
pyplot.show()
, 오른쪽 화상 Basemap(projection='cyl')
상기 좌측 이미지를 사용하여 이루어진다는 이용된다 Basemap(projection='cyl', llcrnrlat=lat_bounds[0], llcrnrlon=long_bounds[0], urcrnrlat=lat_bounds[1], urcrnrlon=long_bounds[1], ax=ax1)
matplotlib 도구 모음을 사용하여 확대했을 때 두 번째 이미지가되는 오른쪽 이미지의 점에 주목하십시오.
당신은 매개 변수에 관하여 맞습니다. 'llcrnrlon'은 "왼쪽 아래 구석 경도"를 의미합니다. 또한''cyl'' (원통형)는'projection' 키워드의 기본값입니다. 그래서 여러분은 바른 길을 가고 있습니다. 당신은 antimeridian (180 E) 위에 음모를 꾸미는 것과 같은 것을 볼 필요가 있습니다. 플롯하려고하는 값을 게시 할 수 있습니까? –
또한 수동으로'ax1.set_xlim (* lat_bounds)'와'ax1.ylim (* long_bounds) '를 설정하면 트릭을 수행합니다. –
@ThomChubb : 편집 된 게시물을 참조하십시오. –