画K线图

#以tushare数据为例,画K线图
import tushare as ts
import datetime
from matplotlib.pylab import date2num

import matplotlib as mpl
import tushare as ts
import matplotlib.pyplot as plt
import mpl_finance as mpf
%matplotlib inline


wdyx = ts.get_k_data('510500','2020-06-20')
wdyx.info()

# 对tushare获取到的数据转换成candlestick_ohlc()方法可读取的格式
    
def date_to_num(dates):
    num_time = []
    for date in dates:
        date_time = datetime.datetime.strptime(date,'%Y-%m-%d')
        num_date = date2num(date_time)
        num_time.append(num_date)
    return num_time

# dataframe转换为二维数组
mat_wdyx = wdyx.as_matrix()
num_time = date_to_num(mat_wdyx[:,0])
mat_wdyx[:,0] = num_time

# fig, ax = plt.subplots(figsize=(15,5))
# fig.subplots_adjust(bottom=0.5)
# mpf.candlestick_ochl(ax, mat_wdyx, width=0.6, colorup='r', colordown='g', alpha=1.0)
#plt.grid(True)
# 设置日期刻度旋转的角度 
# plt.xticks(rotation=30)
# plt.title('510500')
# plt.xlabel('Date')
# plt.ylabel('Price')
# ax.xaxis_date ()

fig, (ax1, ax2) = plt.subplots(2, sharex=True, figsize=(15,8))
mpf.candlestick_ochl(ax1, mat_wdyx, width=1.0, colorup = 'g', colordown = 'r')
ax1.set_title('510500')
ax1.set_ylabel('Price')
ax1.grid(True)
ax1.xaxis_date()
plt.bar(mat_wdyx[:,0]-0.25, mat_wdyx[:,5], width= 0.5)
ax2.set_ylabel('Volume')
ax2.grid(True)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值