로그 컬러 바로 히트 맵을 만들려고합니다. 그러나 그것은 내가 입력 한 것들과 함께 자체 틱과 틱 라벨을 계속 생성합니다.
나는 원래 과학 표기법에서 일반 표기법으로 눈금 레이블을 다시 형식화 하기 위해 이것을 게시 했지만이 문제가 발생했습니다.
import numpy as np
import seaborn as sns
from matplotlib.colors import LogNorm
import matplotlib.ticker as tkr
matrix = np.random.rand(10, 10)/0.4
vmax=2
vmin=0.5
cbar_ticks = [0.5, 0.75, 1, 1.33, 2]
formatter = tkr.ScalarFormatter(useMathText=True)
formatter.set_scientific(False)
log_norm = LogNorm(vmin=vmin, vmax=vmax)
ax = sns.heatmap(matrix, square=True, vmax=vmax, vmin=vmin, norm=log_norm, cbar_kws={"ticks": cbar_ticks, "format": formatter})
로그 축을 사용하면 종종 작은 눈금이 설정됩니다 (다른 값의 위치를 파악하는 데 도움이되며 로그 모양을 적용합니다). 이 경우 기본 틱에는 1.0
어떤 값이 어떤 색상에 해당하는지보기에는 충분하지 않은 하나의 틱 (at ) 만 포함됩니다 .
으로 cbar_kws
만 주요 틱을 변경할 수 있습니다. 보조 눈금을 명시 적으로 억제 할 수 있습니다.
import numpy as np
import seaborn as sns
from matplotlib.colors import LogNorm
import matplotlib.ticker as tkr
from matplotlib import pyplot as plt
matrix = np.random.rand(10, 10) / 0.4
vmax = 2
vmin = 0.5
cbar_ticks = [0.5, 0.75, 1, 1.33, 2]
formatter = tkr.ScalarFormatter(useMathText=True)
formatter.set_scientific(False)
log_norm = LogNorm(vmin=vmin, vmax=vmax)
ax = sns.heatmap(matrix, square=True, vmax=vmax, vmin=vmin, norm=log_norm,
cbar_kws={"ticks": cbar_ticks, "format": formatter})
ax.collections[0].colorbar.ax.yaxis.set_ticks([], minor=True)
plt.show()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다