>백엔드 개발 >파이썬 튜토리얼 >matplotlib.pyplot.contourf를 사용하여 밀도 배열을 그리는 방법

matplotlib.pyplot.contourf를 사용하여 밀도 배열을 그리는 방법

WBOY
WBOY앞으로
2024-02-12 22:27:03783검색

如何使用 matplotlib.pyplot.contourf 绘制密度数组

질문 내용

dens라는 xarray 데이터세트가 있고 이를 플롯하고 싶습니다.

데이터세트는 다음과 같습니다.

으아악

명령을 사용하고 있습니다

으아악

플롯을 했더니 작동이 되었는데, 해안선도 플롯에 플롯하고 싶었기 때문에

도 사용해 보았습니다. 으아악

하지만 모든 명령을 실행하고 plt.show()등고선 플롯이 사라지고 해안선만 표시됩니다.

동일한 그림에서 등고선 지도 + 해안선 지도를 얻으려면 이 문제를 어떻게 해결해야 할까요?

이게 어리석은 질문이라면 죄송합니다. 하지만 저는 Python을 처음 접했습니다

도와주셔서 감사합니다

유탐

편집: 이제 두 가지 다른 "툴킷"을 결합하려고 하고 베이스맵 툴킷만 사용하여 이 모든 작업을 수행할 수 있다는 것을 깨달았지만 그냥 작성하려고 합니다

으아악

다음 오류가 발생합니다:

으아악

또 다른 편집: 나는 계속해서 더 많은 것을 발견했고 베이스맵에 대한 문서를 읽은 후에 명령의 구문이 다음과 같아야 한다는 것을 깨달았습니다

m.contourf(dens.lon.values,dens.lat.values,dens.密度.values[-1,:,:]);

하지만 이제 다음 오류가 발생합니다:

으아악

내 밀도 배열이 2D이기 때문인 것 같은데, 밀도 값을 어떻게 추출하나요? 저는 마지막 시간 단계만 필요하기 때문에 시간 차원에서 [-1]을 사용하고 있습니다

다시 한번 미리 감사드립니다. 요탐

최종 편집

이것이 마지막 줄거리입니다. 주변 땅을 보라색 대신 회색으로 만들려면 어떻게 해야 합니까? 또한 데이터를 엉망으로 만들지 않고 좀 더 큰 지리적 영역을 설명할 수 있는 방법이 있나요?

여기 내 실제 데이터에 대한 새로운 숫자가 있습니다


정답


베이스맵과 xarray를 사용한 플로팅에 대해 여기一个>.

에서 논의했습니다. 으아악

위 코드가 작동해야 합니다. 저는 해안선이나 국경과 같은 지형지물을 처리하기 위해 Cartopy를 사용합니다. 다음은 데이터 세트를 사용해 볼 수 있는 작동 코드 조각입니다.

으아악

최종 수정

모든 보라색(0)을 흰색으로 설정하려면 다음 cmap을 사용할 수 있습니다.

으아악

위 내용은 matplotlib.pyplot.contourf를 사용하여 밀도 배열을 그리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제