【州末小课堂】使用PyQtGraph绘制上证指数精美走势图

PyQtGraph是一个Python的图形和用户界面库,其提供了交互式的图形绘制功能,便于我们快速开发应用程序。在我的博客http://zmister.com 中,有多篇介绍PyQtGraph的文章,欢迎大家前去阅读。

本篇,我们介绍使用PyQtGraph模块绘制一个完整的折线图,通过tushare模块获取上证指数过去两个月的指数波动数据作为数据源。下面我们分步骤讲解这个折线图形的绘制。

引入相关模块

在本例中,我们需要使用到pyqtgraph模块、numpy模块和tushare模块

获取数据源

我们使用tushare模块的get_hist_data()方法获取上证指数从2017年10月到2017年12月的历史行情数据:

返回的是一个Pandas的DataFrame数据结构,操作起来很方便。

处理数据源

在获取到上证指数的历史行情数据之后,我们需要对其进行一些处理,以方便其后进行坐标轴刻度文本的设置。

首先,将data的日期索引转换为一个字典:

再按5步长来去data的索引,生成一个包含索引序号和索引值元组的列表:

绘制图形

在稍微处理好数据源之后,我们就可以进行图形绘制了。

首先实例化一个QT实例:

接着借助GraphicsWindow()子模块创建一个空的图形窗口,并使用title参数设置了窗口的标题:

通过之前创建的字典xdict和列表axis_1,设置图形的X坐标轴刻度文本,orientation参数表示坐标轴的位置:

在窗口中添加一个空的图形,通过axisItems参数指定坐标轴及其内容,并使用title参数设置了图形的标题:

在图形中添加一个文本:

设置图形的图例:

设置图形网格的形式,我们设置显示横线和竖线,并且透明度惟0.5:

绘制开盘和收盘的指数,pen参数表示线的颜色,name参数可用于图例的显示,symbolBrush用来设置点的颜色:

设置图形的轴标签:

最后设置十字光标:

再按常例,调用app的exec_()方法即可:

最终运行程序,绘制出来的图表如下所示:

动图如下所示:

是不是很简单?

原文发布于微信公众号 - 州的先生(zmister2016)

原文发表时间:2018-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏邵靖的专栏

使用 plotly 绘制数据图表

不少小伙伴在开发过程中都有对模块进行压测的经历,压测结束后大家往往喜欢使用Excel处理压测数据并绘制数据可视化视图,但这样不能很方便的使用web页面进行数据展...

1.1K6
来自专栏Golang语言社区

Golang中image/jpeg包和image/png包用法

jpeg包实现了jpeg图片的编码和解码 func Decode(r io.Reader) (image.Image, error) //Decode读取一...

6364
来自专栏Python小屋

Python+pyplot绘制带文本标注的柱状图

import numpy as np import matplotlib.pyplot as plt # 生成测试数据 x = np.linspace(0, 1...

3235
来自专栏iOS开发攻城狮的集散地

水波进度、加载动画、文字进度

2453
来自专栏V站

python实现生成验证码的逻辑

2048
来自专栏申龙斌的程序人生

SeismicPro地震剖面显示程序

SeismicPro是我用C#写的一款地震剖面显示软件,可从标准SEGY地震数据体中抽取纵测线和横测线的二维剖面,并以波形、变面积和变密度等多种方式进行专业化显...

3099
来自专栏用户2442861的专栏

【Qt编程】基于QWT的曲线绘制及图例显示操作

http://blog.csdn.net/tengweitw/article/details/41911035

5851
来自专栏Python数据科学

Python十分钟制作属于你自己的个性logo

词云的使用相信大家已经不陌生了,使用很简单,直接调用wordcloud包就可以了。它的主要功能是根据文本词汇和词汇频率生成图片,从中可以直观的看出各个词汇所占比...

822
来自专栏ios 技术积累

ios Charts MarkerView遇到的一个问题

两个问题 问题1:最大值的的时候 MarkerView 坐标有问题 ,原因就是最大值的时候,曲线已经在View的顶部了,所以MarkerView 的Y坐标还要...

2723
来自专栏林德熙的博客

matlab 画图

本文讲如何使用 matlab 画图。 本文包括:折线图的 x轴和y轴、标题、图例 柱状图填充图案

1532

扫码关注云+社区