使用matplotlib colorbar,通常数字会以科学计数法打印,只有尾数显示在条形图的侧面,并且在条形图的顶部显示一个指数。我经常使用这种格式,即使我不想要它。现在,我真的需要它,因为我正在用十进制符号绘制小数字,比如六个零,突然matplotlib决定用十进制格式而不是科学格式来打印数字。有没有办法强迫它使用科学计数法,在条形图的顶部有一个指数?
使用matplotlib colorbar,通常数字会以科学计数法打印,只有尾数显示在条形图的侧面,并且在条形图的顶部显示一个指数。我经常使用这种格式,即使我不想要它。现在,我真的需要它,因为我正在用十进制符号绘制小数字,比如六个零,突然matplotlib决定用十进制格式而不是科学格式来打印数字。有没有办法强迫它使用科学计数法,在条形图的顶部有一个指数?
1条答案
按热度按时间7rfyedvj1#
找到了
颜色条有一个可选的
format
参数。您可以使用简单的文本参数指定简单的科学计数法或十进制格式。您还可以提供ScalarFormatter
对象作为参数。ScalarFormatter对象有一个函数set_powerlimits(min,max)
。如果它调用该函数,任何小于10^min或大于10^max的数字都将以科学计数法表示。如果您的颜色条值的整个范围小于10^min或大于10^max,你的colorbar将按照OP:scientific notation中的要求显示结果,在bar的两侧只有尾数,顶部有一个指数。对于我的例子,colorbar的值都是10^-6的数量级,我这样做了: