设置matplotlib 横坐标为毫秒
来源:互联网 发布:c 并行与分布式编程 编辑:程序博客网 时间:2024/06/05 15:56
设置坐标为毫秒
# coding: UTF-8import datetimeimport matplotlib.datesimport matplotlib.pyplotticklist = list()def gen_tick_items(tline): global ticklist itemlist = tline.split('|') item = dict() item['TradeVolume'] = int(itemlist[0].strip()) item['TotalValueTraded'] = float(itemlist[1].strip()) item['TradePrice'] = float(itemlist[2].strip()) item['Timestamp'] = datetime.datetime.strptime(itemlist[3].strip(), '%H:%M:%S.%f') item['MDTime'] = datetime.datetime.strptime(itemlist[4].strip(), '%Y%m%d-%H:%M:%S.%f') ticklist.append(item)def draw_timestamp(ttype): if ttype == 'TimeStamp': matplotlib.pyplot.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y%m%d-%H:%M:%S.%f')) matplotlib.pyplot.gca().xaxis.set_major_locator(matplotlib.dates.MicrosecondLocator(interval=100000000)) matplotlib.pyplot.gca().yaxis.set_major_formatter(matplotlib.dates.DateFormatter('%H:%M:%S')) matplotlib.pyplot.gca().yaxis.set_major_locator(matplotlib.dates.MinuteLocator(interval=30)) xs = [t['MDTime'] for t in ticklist] xticks = [t for index, t in enumerate(xs) if index % 600 == 0] ys = [t['Timestamp'] for t in ticklist] matplotlib.pyplot.gca().axes.set_xticks(xticks) matplotlib.pyplot.gca().axes.set_xlim(auto=True) matplotlib.pyplot.plot(xs, ys) matplotlib.pyplot.gcf().autofmt_xdate() matplotlib.pyplot.grid(True) matplotlib.pyplot.show() elif ttype == 'TradeVolume': matplotlib.pyplot.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%H:%M:%S')) matplotlib.pyplot.gca().xaxis.set_major_locator(matplotlib.dates.MinuteLocator(interval=5)) xs = [t['MDTime'] for t in ticklist] xticks = [t for index, t in enumerate(xs) if index % 120 == 0] ys = [t['TradeVolume'] for t in ticklist] matplotlib.pyplot.gca().axes.set_xticks(xticks) matplotlib.pyplot.gca().axes.set_xlim(auto=True) matplotlib.pyplot.gca().set_ylabel('TradeVolume') matplotlib.pyplot.gca().set_xlabel('MDTime') matplotlib.pyplot.plot(xs, ys) matplotlib.pyplot.gcf().autofmt_xdate() matplotlib.pyplot.grid(True) matplotlib.pyplot.show() elif ttype == 'TotalValueTraded': matplotlib.pyplot.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%H:%M:%S')) matplotlib.pyplot.gca().xaxis.set_major_locator(matplotlib.dates.MinuteLocator(interval=5)) xs = [t['MDTime'] for t in ticklist] xticks = [t for index, t in enumerate(xs) if index % 120 == 0] ys = [t['TotalValueTraded'] for t in ticklist] matplotlib.pyplot.gca().axes.set_xticks(xticks) matplotlib.pyplot.gca().axes.set_xlim(auto=True) matplotlib.pyplot.gca().set_ylabel('TotalValueTraded') matplotlib.pyplot.gca().set_xlabel('MDTime') matplotlib.pyplot.plot(xs, ys) matplotlib.pyplot.gcf().autofmt_xdate() matplotlib.pyplot.grid(True) matplotlib.pyplot.show() elif ttype == 'TradePrice': matplotlib.pyplot.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%H:%M:%S')) matplotlib.pyplot.gca().xaxis.set_major_locator(matplotlib.dates.MinuteLocator(interval=5)) xs = [t['MDTime'] for t in ticklist] xticks = [t for index, t in enumerate(xs) if index % 20 == 0] ys = [t['TradePrice'] for t in ticklist] matplotlib.pyplot.gca().axes.set_xticks(xticks) matplotlib.pyplot.gca().axes.set_xlim(auto=True) matplotlib.pyplot.gca().set_ylabel('TradePrice') matplotlib.pyplot.gca().set_xlabel('MDTime') matplotlib.pyplot.plot(xs, ys) matplotlib.pyplot.gcf().autofmt_xdate() matplotlib.pyplot.grid(True) matplotlib.pyplot.show()if __name__ == '__main__': fr = open('md001.txt', 'r') for line in fr.readlines(): gen_tick_items(line) draw_timestamp('TradePrice')
阅读全文
0 0
- 设置matplotlib 横坐标为毫秒
- Matplotlib关于以时间为横坐标画图
- Matplotlib,用日期作为横坐标
- echars设置横坐标倾斜
- excel设置曲线图横坐标值
- 注意fft画图横坐标的设置
- pyqtgraph如何设置字符串类型横坐标
- 《Java编程技巧1001条》第367条 设置以毫秒为单位的当前时间
- jfreechart折线图为横坐标换一种显示的问题
- Java 毫秒转换为日期类型、日期转换为毫秒
- Java 毫秒转换为日期类型、日期转换为毫秒
- 毫秒值转化为时间
- Matplotlib的中文设置
- Matplotlib设置图例字体大小
- 【Matplotlib】 刻度设置(2)
- matplotlib设置中文显示
- 自定义 matplotlib 设置
- Matplotlib Line2D设置
- aliyun网站部署
- composer
- iis部署需要看视频
- 面向组学大数据的生物信息学研究
- 趣店老总一句话引爆网络成为网络公敌,究竟说了啥?
- 设置matplotlib 横坐标为毫秒
- [BZOJ3191][洛谷P2059][JLOI2013]卡牌游戏 概率DP
- redis在linux系统下客户端命令
- 几个下拉效果
- Java 数字价格转为中文大写表达
- android service启动AlertDialog
- CentOS 下 Nginx + Tomcat 配置负载均衡
- Solr单机和集群的安装,使用
- 阿里云上部署node环境