一、python numpy + matplotlib 画股票k线图
# -- coding: utf-8 -- import requests import numpy as np from matplotlib import pyplot as plt from matplotlib import animation fig = plt.figure(figsize=(8,6), dpi=72,facecolor="white") axes = plt.subplot(111) axes.set_title('Shangzheng') axes.set_xlabel('time') line, = axes.plot([], [], linewidth=1.5, linestyle='-') alldata = [] def dapan(code): url = 'http://hq.sinajs.cn/"color: #ff0000">二、使用matplotlib轻松绘制股票K线图K线图是看懂股票走势的最基本知识,K线分为阴线和阳线,阴线和阳线都包含了最低价、开盘价、最高价和收盘价,一般都K线如下图所示:
在使用Python进行股票分析的过程中,我们可以很容易的对K线图进行绘制,下面介绍两种情形下的K线图绘制:
1. 股票数据来源于Matplotlib:
# 导入需要的库 import tushare as ts import matplotlib.pyplot as plt import matplotlib.finance as mpf %matplotlib inline # 设置历史数据区间 date1 = (2014, 12, 1) # 起始日期,格式:(年,月,日)元组 date2 = (2016, 12, 1) # 结束日期,格式:(年,月,日)元组 # 从雅虎财经中获取股票代码601558的历史行情 quotes = mpf.quotes_historical_yahoo_ohlc('601558.ss', date1, date2) # 创建一个子图 fig, ax = plt.subplots(facecolor=(0.5, 0.5, 0.5)) fig.subplots_adjust(bottom=0.2) # 设置X轴刻度为日期时间 ax.xaxis_date() # X轴刻度文字倾斜45度 plt.xticks(rotation=45) plt.title("股票代码:601558两年K线图") plt.xlabel("时间") plt.ylabel("股价(元)") mpf.candlestick_ohlc(ax,quotes,width=1.2,colorup='r',colordown='green') plt.grid(True)绘制出来的K线图如下:
2.股票数据来源于Tushare:
因为从Tushare中获取到的数据为Pandas的DataFrame结构,需要将其转换为matplotlib.finance.candlestick_ohlc()方法能够处理的数据结构。
from matplotlib.pylab import date2num import datetime # 对tushare获取到的数据转换成candlestick_ohlc()方法可读取的格式 data_list = [] for dates,row in hist_data.iterrows(): # 将时间转换为数字 date_time = datetime.datetime.strptime(dates,'%Y-%m-%d') t = date2num(date_time) open,high,low,close = row[:4] datas = (t,open,high,low,close) data_list.append(datas) # 创建子图 fig, ax = plt.subplots() fig.subplots_adjust(bottom=0.2) # 设置X轴刻度为日期时间 ax.xaxis_date() plt.xticks(rotation=45) plt.yticks() plt.title("股票代码:601558两年K线图") plt.xlabel("时间") plt.ylabel("股价(元)") mpf.candlestick_ohlc(ax,data_list,width=1.5,colorup='r',colordown='green') plt.grid()同样也能绘制会一样的K线图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。