在pandas .p​​lot函数中禁用科学计数法和偏移量

问题描述

我有一个数据框df,其中有2列我想绘制在一起,以天为索引:

           | col1  | col2   | col3 | ...
2020-01-01 | 1     | 300000 | ...
2020-01-02 | 1000  | 600000 | ...
2020-01-03 | 3000  | 50000  | ...

通过以下方式绘制col1 + col2

df[["col1","col2"]].plot()

会显示0到1.0之间的值,并在顶部“ 1e6”处显示此示例中的内容:https://i.stack.imgur.com/tJjgX.png

我想要y轴上的整个值范围,而不需要科学计数法。如何通过pandas .p​​lot()或matplotlib做到这一点?

解决方法

您有几种选择:

选项一:使用Matplotlib

axes=fig.add_axes([0,1,1])
axes.set_xticks() # with list or range() inside
axes.set_yticks() # with list or range() inside

#You can also label the ticks with your desired values
axes.set_xticklabels() # with list or range() inside
axes.set_yticklabels() # with list or range() inside

选项二:更改熊猫设置

pd.set_option('display.float_format',lambda x: '%.3f' % x)

pd.options.display.float_format = '{:.2f}'.format

我认为第一种方法更好,因为您只需要用于图形,而不必修改数据框列。

干杯!

,

使用.set_ylim([min,max])设置图的y轴限制

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...