在对数图像显示中为颜色条标记每个十年

1 投票
1 回答
1158 浏览
提问于 2025-04-16 17:21

我想在一个矩阵里绘制一些数据。这里的颜色是根据z值的对数来决定的。我的问题是,只有部分刻度有标签。具体来说,就是“1e1, 1e10, ...”。如果这些值超出了数据范围,就完全没有标签(虽然有刻度线)。我希望每个十进制都有标签,比如“1e1, 1e2, 1e3, ...”,还有“1e-1, 1e-2, ...”。下面是一个简单的例子:

from matplotlib import pylab
import numpy
from matplotlib.colors import LogNorm

data = numpy.loadtxt("data.txt")
pylab.imshow(data, interpolation="nearest", origin="upper", aspect="equal", norm=LogNorm())
cbar = pylab.colorbar()
pylab.show()

1 个回答

-1

看看 matplotlib.axis.Axis 里的 set_ticks 方法。它的详细说明可以在 这里找到。

撰写回答