메모
전체 예제 코드를 다운로드 하려면 여기 를 클릭 하십시오.
맞춤형 컬러바 자습서 #
이 자습서에서는 연결된 플롯 없이 독립 실행형 컬러바를 만들고 사용자 지정하는 방법을 보여줍니다.
맞춤형 컬러바 #
A 에는 사용할 색상표와 표준을 나타내는 colorbar
"매핑 가능한"( matplotlib.cm.ScalarMappable
) 객체(일반적으로 이미지)가 필요합니다. 첨부된 이미지 없이 컬러바를 생성하기 위해 ScalarMappable
연결된 데이터가 없는 를 대신 사용할 수 있습니다.
기본 연속 컬러바 #
여기에서는 눈금과 레이블이 있는 기본 연속 컬러바를 만듭니다.
colorbar
호출에 대한 인수 는 ( norm 및 cmapScalarMappable
인수
를 사용하여 구성됨 ), 컬러바를 그려야 하는 축 및 컬러바의 방향입니다.
자세한 내용은 colorbar
API를 참조하세요.
import matplotlib.pyplot as plt
import matplotlib as mpl
fig, ax = plt.subplots(figsize=(6, 1))
fig.subplots_adjust(bottom=0.5)
cmap = mpl.cm.cool
norm = mpl.colors.Normalize(vmin=5, vmax=10)
fig.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmap),
cax=ax, orientation='horizontal', label='Some Units')
<matplotlib.colorbar.Colorbar object at 0x7f2cdf4e94e0>
연속적인 색상 스케일이 있는 확장된 색상 막대 #
두 번째 예제는 연속 cmap을 기반으로 개별 컬러바를 만드는 방법을 보여줍니다. "extend" 키워드 인수를 사용하면 확장을 포함하여 색상 공간을 채우기 위해 적절한 색상이 선택됩니다.
fig, ax = plt.subplots(figsize=(6, 1))
fig.subplots_adjust(bottom=0.5)
cmap = mpl.cm.viridis
bounds = [-1, 2, 5, 7, 12, 15]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N, extend='both')
fig.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmap),
cax=ax, orientation='horizontal',
label="Discrete intervals with extend='both' keyword")
<matplotlib.colorbar.Colorbar object at 0x7f2cfb5e67a0>
불연속 간격 컬러바 #
세 번째 예
ListedColormap
는 나열된 색상 세트에서 색상표를 생성하는 의 사용을 보여줍니다. 이 색상표 colors.BoundaryNorm
는 불연속 간격과 확장된 끝을 기반으로 색상표 인덱스를 생성하여 "위" 및 "아래" 값 색상을 표시합니다. 초과 및 미만은 정규화된 [0, 1] 범위를 벗어난 데이터를 표시하는 데 사용됩니다. 여기서는 색상을 0-1 범위의 부동 소수점을 인코딩하는 문자열로 회색 음영으로 전달합니다.
a ListedColormap
를 사용하는 경우 범위 배열의 길이는 색상 목록의 길이보다 1 커야 합니다. 범위는 단조롭게 증가해야 합니다.
이번에는 에 추가 인수를 전달합니다
colorbar
. 범위를 벗어난 값이 와 함께 extend 키워드를
사용하지 않고 컬러바에 표시되도록 하려면 colorbar 호출에서 extend 키워드 인수를 직접 colors.BoundaryNorm
사용해야 합니다 . 여기서도 간격 인수를 사용하여 각 컬러바 세그먼트의 길이를 해당 간격에 비례하도록 합니다.
fig, ax = plt.subplots(figsize=(6, 1))
fig.subplots_adjust(bottom=0.5)
cmap = (mpl.colors.ListedColormap(['red', 'green', 'blue', 'cyan'])
.with_extremes(over='0.25', under='0.75'))
bounds = [1, 2, 4, 7, 8]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
fig.colorbar(
mpl.cm.ScalarMappable(cmap=cmap, norm=norm),
cax=ax,
extend='both',
ticks=bounds,
spacing='proportional',
orientation='horizontal',
label='Discrete intervals, some other units',
)
<matplotlib.colorbar.Colorbar object at 0x7f2cdf4e8430>
사용자 지정 확장 길이가 있는 컬러바 #
여기에서는 불연속 간격의 컬러바에서 사용자 지정 길이 컬러바 확장의 사용을 보여줍니다. 각 확장의 길이를 내부 색상의 길이와 같게 하려면 를 사용하십시오 extendfrac='auto'
.
fig, ax = plt.subplots(figsize=(6, 1))
fig.subplots_adjust(bottom=0.5)
cmap = (mpl.colors.ListedColormap(['royalblue', 'cyan', 'yellow', 'orange'])
.with_extremes(over='red', under='blue'))
bounds = [-1.0, -0.5, 0.0, 0.5, 1.0]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
fig.colorbar(
mpl.cm.ScalarMappable(cmap=cmap, norm=norm),
cax=ax,
extend='both',
extendfrac='auto',
ticks=bounds,
spacing='uniform',
orientation='horizontal',
label='Custom extension lengths, some other units',
)
plt.show()