2011-12-06 7 views
0

나는 원통형 투영에 스칼라 필드를 그리기 위해베이스 맵과 pcolor를 사용하고 있습니다. 제가 가지고있는 문제는 그리드 선이 그려져 있다는 것입니다 : 나는 선들을보고 싶지 않습니다. 단지 색깔이있는 사각형들입니다. 그리드 라인이 필요하다면, 나는 pcolormesh를 사용할 것입니다.파이썬의 메쉬/그리드 선 제거 pcolor베이스 맵 플롯

도움말에 따르면 edgecolors = 'none'으로 설정하면 선을 제거해야한다고합니다 (현재 사용되지 않는 음영 = '평면'과 동일한). 필자의 경우 실제 데이터에 대해서는 음모를 꾸미려고 노력하고있는 것 같지 않습니다.

나는지도의 일부 위에 오른쪽 사각형을 칠한 테스트를 수행했습니다. 방금 새로운 3x3 랜덤 배열과 적절한 위도/경도 행렬을 만들었습니다. 그 작은 테스트 패치에서는 개별 색상들 사이의 선이 보이지 않습니다. 왜 그런지 모르겠다. 실제 데이터와 동일한 기술을 사용했다. 나는 배경이 흰색 떠날 때

map = Basemap(projection='cyl', 
       resolution='l', 
       llcrnrlon=lon_min, 
       llcrnrlat=lat_min, 
       urcrnrlon=lon_max, 
       urcrnrlat=lat_max) 

, 내가 대신 검은 색의 흰색 격자를 참조하십시오지도 배경, 블랙 map.drawmapboundary(fill_color='0.05')입니다 '지도하는 것은'는베이스 맵 객체이기 때문에

원치 않는 그리드는 검은 색입니다.

내가 사용하는 pcolor 명령은 다음과 같습니다

mymapim = map.pcolor(mapxvals, mapyvals, datafield, edgecolors='none', vmin=-5, vmax=35, cmap=my_cmap) 

'데이터 필드가'있다 (마스킹이 함께 할 수있는 뭔가가있을 수 있는지 확실하지) 마스크 배열. 'map * vals'는 datafield보다 하나의 행과 열이있는 행렬입니다.

나는 이것을 알아 내고 웹상에서 답을 찾으려 애 쓰면서 많은 시간을 보냈지만이 커뮤니티에 첫 번째 질문을하는 데이 기회를 빌려줄 것입니다. 어떤 제안을 주셔서 감사합니다. (나는 파이썬을 오랫동안 사용하지 않았다).

나는 문제를 보여주는 이미지를 첨부하려했지만 분명히 평판이 나올 때까지는 할 수 없다.

Ta!

답변

0

귀하의 질문을 완전히 이해했는지 여부는 알 수 없습니다. Herepcolor, imshowcontourBasemap에 사용하는 방법에 대한 몇 가지 예입니다.

+0

감사합니다. imsc, 나는 그 예를 보았습니다. 그들은 깔끔합니다. imshow는 내가 사용하고자하는 것이었을 것이라고 생각합니다. (pcolor보다 훨씬 빠릅니다.)하지만 불규칙적으로 간격을 둔 격자가있는지도 투영에서 작업하는 방법을 알아낼 수 없었습니다. 윤곽은 내 목적에 적합하지 않습니다. – user1082930

+0

불행히도'imshow'는 정규 간격 그리드에서만 작동합니다. 보다 빠른 플롯을 원하면'pcolor'에'rasterized = True'를 설정해보십시오. 이미지의 품질을 희생시키면서 속도를 얻을 수 있습니다. – imsc

관련 문제