博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib绘图跳过时间段的处理方案
阅读量:4293 次
发布时间:2019-05-27

本文共 560 字,大约阅读时间需要 1 分钟。

在绘制行情图时matplotlib,遇到时间索引会自动进行补全,导致dataframe不存在的记录实际绘图中也有,不过是一条连续平线。这个默认设计对大部分情况也是合理的,但在股票行情分析中,我们并不需要自动填充,反而需要跳过这些非交易时间段。

目前如果采用dataframe作为索引(index),网上也没有找到合适的解决方案

方案1,用int作为索引,通过ax的定制函数,将int索引映射到时间上

比如:这篇帖子的处理方式

优点,可以解决问题,缺点,放弃了datatime时间戳方式。如果放弃datatime方式,直接用int作为索引,那么其实没必要这么复杂,int索引下,matplotlib并不会自动填充空闲时间。

个人做了验证,当index用dataframe时,传入的x是一个浮点数(7xxx的浮点数,不是时间戳,目前时间戳是13xxx),但是当index是int索引时,传入的是正常索引,所以如果采用这种方式,并不使用datatime时间戳形式。如果采用int作为索引,最简单的是将dataframe中不需要的时间过滤掉。

方案2:使用int作为索引

优点,可解决自动填充时间的问题,而且相对容易处理,不需要的数据在dataframe中清除掉就可以了。

缺点,x轴上标注的是,int,实际需要时间时会比较麻烦

 

 

转载地址:http://sryws.baihongyu.com/

你可能感兴趣的文章
Activiti工作流会签二 启动流程
查看>>
Activiti工作流会签三 撤销,审批,驳回
查看>>
Oauth2方式实现单点登录
查看>>
CountDownLatch源码解析加流程图详解--AQS类注释翻译
查看>>
ES相关度评分
查看>>
我们一起做一个可以商用的springboot脚手架
查看>>
idea在搭建ssm框架时mybatis整合问题 无法找到mapper
查看>>
java设计基本原则----单一职责原则
查看>>
HashMap的实现
查看>>
互斥锁 synchronized分析
查看>>
java等待-通知机制 synchronized和waity()的使用实践
查看>>
win10 Docke安装mysql8.0
查看>>
docker 启动已经停止的容器
查看>>
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
linux安装docker
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>