我尝试使用matplotlib为我的图像添加一个颜色条。当我尝试强制使用科学计数法编写ticklabels时出现了问题。我如何在颜色条的刻度中强制使用科学计数法(即,1x10^0,2x10^0,.,1x10^2,等等)?
例如,让我们创建和绘图和图像与其颜色条:
import matplotlib as plot
import numpy as np
img = np.random.randn(300,300)
myplot = plt.imshow(img)
plt.colorbar(myplot)
plt.show()
当我这样做时,我得到以下图像:
但是,我想看看科学计数法中的ticklabel.
4条答案
按热度按时间ig9co6j11#
可以使用
colorbar
的format
参数:34gzjxbg2#
您可以按以下方式指定颜色条记号的格式:
m2xkgtsf3#
有一种更直接(但不太可定制)的方法可以在
ColorBar
中获得科学记数法,而无需%.0e
。创建您的
ColorBar
:然后调用格式化程序:
这将使
ColorBar
使用科学计数法。请参阅下面的示例图来查看ColorBar
的外观。此函数的文档可以在here中找到。
djp7away4#
似乎在Joseph的答案中,
cbar.formatter.set_powerlimits((0,0))
本身还不能呈现像$10^3$这样的数学格式。加上
cbar.formatter.set_useMathText(True)
得到大约10^3 $。这将生成x1c 0d1x
在这里查看
set_useMathText()
的文档。