맞춤형 컬러바 자습서 #

이 자습서에서는 연결된 플롯 없이 독립 실행형 컬러바를 만들고 사용자 지정하는 방법을 보여줍니다.

맞춤형 컬러바 #

A 에는 사용할 색상표와 표준을 나타내는 colorbar"매핑 가능한"( matplotlib.cm.ScalarMappable) 객체(일반적으로 이미지)가 필요합니다. 첨부된 이미지 없이 컬러바를 생성하기 위해 ScalarMappable연결된 데이터가 없는 를 대신 사용할 수 있습니다.

기본 연속 컬러바 #

여기에서는 눈금과 레이블이 있는 기본 연속 컬러바를 만듭니다.

colorbar호출에 대한 인수 는 ( normcmapScalarMappable 인수 를 사용하여 구성됨 ), 컬러바를 그려야 하는 축 및 컬러바의 방향입니다.

자세한 내용은 colorbarAPI를 참조하세요.

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()
컬러바만

Sphinx-Gallery에서 생성한 갤러리