如何防止数字在Python matplotlib图中更改为指数形式

发布于 2021-02-02 23:12:30

我在Python中使用Matplotlib绘制简单的xy数据集。这会产生漂亮的图形,尽管当我使用“图形视图”(执行时出现plt.show())在绘图图形的各个部分上“放大”得太近时,x轴值也会从标准数字格式(1050、1060, 1070等)转换成具有指数符号的科学形式(例如x,x轴标记为的1、1.5、2.0 +1.057e3)。

我希望我的图形保留轴的简单编号,而不要使用指数形式。有没有一种方法可以强制Matplotlib执行此操作?

关注者
0
被浏览
65
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    勾号标签的格式由Formatter对象控制ScalerFormatter,默认情况下,假设你未做任何花哨的操作,它将是。如果可见值的分数变化很小,则此格式化程序将使用恒定移位。为了避免这种情况,只需将其关闭:

    plt.plot(arange(0,100,10) + 1000, arange(0,100,10))
    ax = plt.gca()
    ax.get_xaxis().get_major_formatter().set_useOffset(False)
    plt.draw()
    

    如果你想避免普遍采用科学计数法,

    ax.get_xaxis().get_major_formatter().set_scientific(False)
    

    可以通过axes.formatter.useoffsetrcparam 全局控制。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看