我正在尝试使用matplotlib为我的图像添加颜色条。当我试图强制用科学记数法来写标签时,问题就来了。如何在颜色条的刻度中强制使用科学计数法(即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()
字符串
当我这样做时,我得到以下图像:
的数据
不过,我想看看科学记数法的记号...是否有任何一个行命令可以做到这一点?否则,有什么线索吗?谢谢你,谢谢
4条答案
按热度按时间webghufk1#
您可以使用
colorbar
的format
参数:字符串
的数据
llycmphe2#
可以按如下方式指定颜色条记号的格式:
字符串
ee7vknir3#
有一种更直接(但可定制性较差)的方法可以在
ColorBar
中获得科学记数法,而无需%.0e
。创建您的
ColorBar
:字符串
并调用格式化程序:
型
这将使
ColorBar
使用科学记数法。请参阅下面的示例图,了解ColorBar
的外观。的数据
此函数的文档可以在here中找到。
sulc1iza4#
看起来,在Joseph的答案中,
cbar.formatter.set_powerlimits((0,0))
本身还不能呈现像$10^3$这样的数学格式。加上
cbar.formatter.set_useMathText(True)
得到大约10^3 $。字符串
这将生成x1c 0d1x
请参阅
set_useMathText()
的文档。