【发布时间】:2021-04-16 18:45:02
【问题描述】:
我正在使用具有对数刻度的 seaborn 生成热图。如何将颜色条标签从科学记数法更改为纯数字。
import math
from matplotlib.colors import LogNorm
vmax=2
vmin=0.5
center = (vmax+vmin)/2
log_norm = LogNorm(vmin=vmin, vmax=vmin)
cbar_ticks = [0.5, 0.66, 1, 1.5, 2]
ax = sns.heatmap(corr, square=True, mask=mask, cmap=cmap_type, linewidths=.5, vmax=vmax, vmin=vmin, norm=log_norm, cbar_kws={"ticks": cbar_ticks}, center=center)
编辑:
以下代码修复了科学记数法的问题:
import matplotlib.ticker as tkr
formatter = tkr.ScalarFormatter(useMathText=True)
formatter.set_scientific(False)
cbar_kws={"ticks": cbar_ticks, "format": formatter}
但norm=log_norm 正在添加额外的刻度(请参见下图)。如何删除这些?
【问题讨论】:
标签: python matplotlib seaborn