获取Colorbar刻度值。

5
我在使用matplotlib中的colorbar,由于我希望我的图表更加敏感,所以我对每个值取平方根。这使得我的colorbar上的值变成了平方根值,但现在我想将刻度标签缩放回实际值。我很难做到这一点。我看到colorbar有一个set_ticks函数,但我需要先获取我的刻度才能通用地执行此操作。是否有一种容易的方法可以做到这一点,或者有其他方法可以解决这个问题?

我对“因为我想让我的图更敏感,所以我对每个值取平方根”的做法持怀疑态度。默认情况下,色条的范围将从绘图数据的最小值到最大值。此外,颜色与实际差异之间的非线性关系可能会产生误导(您是否具有高于和低于1的值?)。 - cphlewis
我应该说,我正在使用np.histogram2d制作加权的二维直方图,而不是图形。在我的pcolormesh图中,一些值并不是很明显,所以我需要用类似于对数的东西来使它变得敏感,但由于我有小于1的值,所以我选择了平方根。这导致我的色条具有平方根刻度,我想将它们转换回原始值。通过你提供的示例,我能够以一般的方式获得刻度并更改它们。谢谢。 - Tristan
2个回答

4

调用colorbar实例的定位器应返回刻度位置。colorbar.locator()


2
为什么它不像“Axis”对象一样被称为“colorbar.get_ticks()”?!?这让我花了太长时间才找到。 - hunse

1
在Matplotlib 2.1中,您可以使用方法colorbar.get_ticks()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接