文档章节

matplotlib绘制K线图

C
 Claroja
发布于 2017/05/08 23:21
字数 362
阅读 14
收藏 0

获得苹果的股票数据(2016/1/4-2017/4/20)如下表:

Date Open High Low Close
2016/1/4 102.610001 105.370003 102 105.349998
2016/1/5 105.75 105.849998 102.410004 102.709999
2016/1/6 100.559998 102.370003 99.870003 100.699997
2016/1/7 98.68 100.129997 96.43 96.449997
2016/1/8 98.550003 99.110001 96.760002 96.959999

绘制代码:

import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator,DayLocator, MONDAY
import pandas as pd
import matplotlib.dates as mdates
from matplotlib.finance import candlestick_ohlc
#1.数据预处理
#读取数据
data=pd.read_csv("C:/Users/Administrator/Desktop/APPL/APPL.csv")
#将时间数据转换为pandas的时间格式
data["Date"]=pd.to_datetime(data["Date"])
#将时间数据转换为matplotlib的时间格式
data['Date'] = data['Date'].apply(lambda d: mdates.date2num(d.to_pydatetime()))
#将数据框转换为元组
tuples = [tuple(x) for x in data[['Date','Open','High','Low','Close']].values]

#2.图像设置
#获得fig和ax对象
fig, ax = plt.subplots()
#调节横坐标距离底部的长度
fig.subplots_adjust(bottom=0.2)
#设置横坐标标签的显示时间间隔(显示每周的周一)
mondays = WeekdayLocator(MONDAY)
ax.xaxis.set_major_locator(mondays)
#设置横坐标刻度的显示间隔(每个刻度代表一天)
alldays = DayLocator()
ax.xaxis.set_minor_locator(alldays)
#设置横坐标标签的显示样式,为“月、日”,Jan 12
weekFormatter = DateFormatter('%b %d')
ax.xaxis.set_major_formatter(weekFormatter)
#显示每个刻度的标签
#dayFormatter = DateFormatter('%d')
# ax.xaxis.set_minor_formatter(dayFormatter)

#3.绘图
#烛台图绘制
candlestick_ohlc(ax, tuples, width=0.6,colorup='r',colordown="g")
#调整图像设置横坐标标签的显示样式,获得当前坐标轴plt.gca、获得x轴刻度标签get_xticklabels、转换角度rotation、旋转角度hori...ent
plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
plt.show()

结果图:
这里写图片描述

© 著作权归作者所有

共有 人打赏支持
C
粉丝 0
博文 128
码字总数 44892
作品 0
南京
使用matplotlib绘制k线图(去掉空白日期)

之前研究过使用 matplotlib.finance 中的 candlestick_ohlc() 方法绘制k线图,但是有个很无语的问题,绘制出来的k线不是连续的——周末两天没有被去掉,因此总是留下一个空档。更不要说遇上春...

那未必
2017/11/04
0
0
使用matplotlib绘制k线图

利用matplotlib.finance绘制K线图时使用关键要点 绘制k线图的核心语句是: 这其中 ax 是 matploblib 的 axis,matrix_data 是股价数据。 matrixdata 是 np.matrix 对象,对于 candlestickoch...

那未必
2017/10/29
0
0
手把手丨10分钟教你看懂K线图交易策略(附python绘图代码)

大数据文摘作品 编译:大山、笪洁琼、Yawei Xia 对于K线图,相信做交易的朋友都不陌生。本文作者用交单明了的语言解释了三日K线的交易原则,也分享了如何用python绘制K线图的方法和代码。 据...

dzjx2eotaa24adr
01/24
0
0
Python GUI教程(十三):在GUI中绘制K线图

文章首发个人博客:http://zmister.com Python GUI教程(一):在PyQt5中创建第一个GUI图形用户界面 Python GUI教程(二):添加窗口小部件到图形用户界面GUI中 Python GUI教程(三):在GUI...

州的先生
2017/12/01
0
0
Python 绘图,我只用 Matplotlib(一)

图片来自 unsplash 当我们的爬虫程序已经完成使命,帮我们抓取大量的数据。你内心也许会空落落的。或许你会疑惑,自己抓取这些数据有啥用?如果要拿去分析,那要怎么分析呢? 说到数据分析,...

猴哥Yuri
2017/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
2
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
7
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
今天
3
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
今天
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部