我正在尝试使用matplotlib绘制一个大数据图。matplotlib简化了y轴上的数字,这是预期的。但是,有太多无用的前导零,我无法找到删除的方法。
下面是一个可重复的例子:
import matplotlib.pyplot as plt
y = [i for i in range(10400000000000000, 10400750000000000,500000000000)]
x = [i for i in range(len(y))]
plt.plot(x,y)
plt.show()
我得到的结果是这样的:
我知道如何禁用useOffset,但我希望y轴的顶部保留科学记数法,只写1e11+1.04e16
而不是1e11+1.0400000000e16
。
1条答案
按热度按时间mkshixfv1#
你可以通过
matplotlib.ticker
模块很容易地做到这一点。你所要做的就是把这个代码片段添加到你的代码中。这段代码将以科学的形式生成结果,即显示
x10^11+1.04*10^16
如果您对所需的输出有特定要求,请尝试下面的代码,
第二个代码使用
annotate
方法。所以要传递的参数是要以所需格式显示的文本,第二个参数指定x和y坐标。希望这能有所帮助!