> 백엔드 개발 > 파이썬 튜토리얼 > 여러 Matplotlib 하위 플롯에서 단일 컬러바를 공유하는 방법은 무엇입니까?

여러 Matplotlib 하위 플롯에서 단일 컬러바를 공유하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-11 21:00:24
원래의
122명이 탐색했습니다.

How to Share a Single Colorbar Across Multiple Matplotlib Subplots?

Matplotlib에서 여러 하위 플롯에 대한 컬러바 공유

Matplotlib에서 여러 하위 플롯을 생성할 때 모든 서브플롯에 대해 공통 컬러바를 표시하는 것이 바람직할 수 있습니다. 일관된 색상 구성과 참조를 보장합니다. 이는 다양한 서브플롯의 값과 패턴을 비교할 때 특히 유용할 수 있습니다.

딜레마

컬러바를 공유할 때 흔히 발생하는 문제 중 하나는 개별 컬러바의 자기상관입니다. 서브플롯의 경계 상자 내에서 플롯과 컬러바를 모두 수용할 수 있도록 크기를 조정합니다. 이로 인해 일관되지 않은 크기의 서브플롯이 나타날 수 있습니다.

해결책: 컬러바 분리

이 문제에 대한 해결책은 컬러바 전용 축을 별도로 만드는 것입니다. 그런 다음 이 축은 플롯과 독립적으로 컬러바를 표시하는 데 사용되어 크기와 위치를 더 효과적으로 제어할 수 있습니다.

이 접근 방식을 구현하려면 다음 단계를 따르세요.

  1. subplots_adjust를 사용하세요. 전체 그림에서 컬러바를 위한 공간을 만드는 함수입니다. 이는 그림의 오른쪽을 그림 너비의 일부로 지정하여 수행됩니다. 일반적으로 약간의 여백을 남기기 위해 1.0보다 약간 아래입니다.
  2. add_axes를 사용하여 컬러바에 대한 별도의 서브플롯 축을 만듭니다. 이 서브플롯은 주 축의 오른쪽에 위치해야 합니다.
  3. colorbar 함수를 사용하여 별도의 축에 컬러바를 생성하고 cax 매개변수에 관련 축을 지정합니다.
  4. 축 숨기기 컬러바 서브플롯의 선과 눈금 표시를 사용하여 독립형 컬러바 모양을 제공합니다.

다음은 다음과 같은 예제 코드입니다. 접근 방식을 보여줍니다.

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)
for ax in axes.flat:
    im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1)

fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(im, cax=cbar_ax)

plt.show()
로그인 후 복사

이 코드는 4개의 하위 플롯을 생성하고 첨부된 이미지와 같이 하위 플롯 오른쪽에 단일 색상 막대를 배치합니다. 컬러바는 서브플롯과 색 구성표를 공유하며 크기와 위치는 서브플롯과 독립적입니다.

이러한 단계를 따르면 단일 컬러바를 여러 서브플롯에서 효과적으로 공유하여 일관성을 보장하고 색상을 개선할 수 있습니다. 데이터를 표현합니다.

위 내용은 여러 Matplotlib 하위 플롯에서 단일 컬러바를 공유하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿