用python绘制股票图_python绘制股票k线图

使用python绘制股票k线图,该例子从本地加载的数据

 

import numpy as np

import matplotlib.pyplot as plt

引入finance模块自带的财经数据

from matplotlib.finance import quotes_historical_yahoo_ohlc

from matplotlib.dates import YearLocator,MonthLocator,DateFormatter

引入时间

import time

引入finace中的k线绘制图方法

from matplotlib.finance import candlestick_ohlc

从本地读取数据

import pandas as pd

设置图形样式

plt.style.use('ggplot')

读取数据

df = pd.read_excel('testdata.xlsx')

取得时间数据和成交量

dates=df["dates"][1:].values.tolist()

volumns = df["counts"][1:].values.tolist()

取得开盘,结束,最低,最高的股票数据

open=df["open"][1:].values.tolist()

close=df["close"][1:].values.tolist()

low=df["low"][1:].values.tolist()

high=df["high"][1:].values.tolist()

将时间数据转换为数字,此处需要引入time模块

timestamp = [time.mktime(date.timetuple()) for date in dates]

组合形成quotes,在绘制k线图的时候需要

quotes = zip(timestamp,open,high,low,close)

定义坐标系位置(左下角坐标和长宽)

left,width = 0.1,0.8

rect_vol = [left,0.1,width,0.26]

rect_main = [left,0.4,width,0.5]

创建fig图形框

fig = plt.figure()

添加坐标系

ax_vol = fig.add_axes(rect_vol)

绘制成交量填充图

ax_vol.fill_between(dates,volumns,color='y')

如果从finmance中导入的数据,需要调整x轴时间的显示

ax_vol.xaxis_date()

plt.setp(ax_vol,get_xticklabels(),rotation=30,horizontalalignment='right')

添加k线坐标系

ax_main=fig.add_axes(rect_main)

绘制k线图,此处是quotes为上诉生成的quotes

candlestick_ohlc(ax_main,quotes=quotes,width=0.6,colorup='r',colordown='g')

得到x坐标轴设置x坐标显示为False

ax_main.axes.get_xaxis().set_visible(False)

设置title

ax_main.set_title('Stock INTC Price and Volume')

显示图形

plt.show()

27f043a9df03?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

figure_1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值