我正在尝试使用 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()
当我这样做时,我得到以下图像:
但是,我想以科学计数法查看刻度标签...是否有任何一行命令可以执行此操作?不然的话,还有什么提示吗?
你可以使用colorbar's format范围:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as ticker
img = np.random.randn(300,300)
myplot = plt.imshow(img)
def fmt(x, pos):
a, b = '{:.2e}'.format(x).split('e')
b = int(b)
return r'${} \times 10^{{{}}}$'.format(a, b)
plt.colorbar(myplot, format=ticker.FuncFormatter(fmt))
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)