zoukankan      html  css  js  c++  java
  • Python可视化Matplotlib-K线图

    引入类库

    import matplotlib as mpl
    import tushare as ts
    import matplotlib.pyplot as plt
    import matplotlib.finance as mpf
    from matplotlib import rc
    from matplotlib.pylab import date2num
    from datetime import datetime, timedelta

    设置取k线的时间

    today = datetime.now().strftime('%Y-%m-%d')
    before = (datetime.now() - timedelta(days = 120)).strftime('%Y-%m-%d') #120自然日,大概80个交易日

    获取行情数据

    #获取行情数据,格式: pandas.core.frame.DataFrame
    code = '000063'
    tsla_df = ts.get_k_data(code, start = before, end = today)
    # print(tsla_df)
    '''
    蜡烛图的日期,不支持普通的YYYY-MM-DD格式
    要使用matplotlib.finance.date2num进行转换为特有的数字值
    '''
    qutotes = []
    for _, (d, o, c, h, l) in enumerate(
            zip(tsla_df.date, tsla_df.open, tsla_df.close, tsla_df.high, tsla_df.low)):
        d = mpf.date2num(datetime.strptime(d,'%Y-%m-%d'))
        # 日期,开盘,收盘,最高,最低组成tuple对象val
        val = (d, o, h, l, c)
        # 加val加入qutotes
        qutotes.append(val)
    fig, ax = plt.subplots(figsize=(15,5))      #设置图片大小
    fig.subplots_adjust(bottom=0.5)             #调整画框的位置,用来消除白边
    
    ax.xaxis_date()                             # X轴的刻度为日期
    plt.xticks(rotation=45)                     # 设置日期刻度旋转的角度
    plt.title(code)                         # 设置图片标题
    plt.xlabel('Date')                          # 设置X轴标题
    plt.ylabel('Price')                         # 设置Y轴标题
    plt.grid(True)                              # 显示网格
    
    mpf.candlestick_ohlc(ax, qutotes, width=0.6, colorup='g', colordown='r', alpha=1.0)
    plt.show()



  • 相关阅读:
    第五周进度条
    《掌握需求过程》阅读笔记01
    第三周进度条
    问题账户需求分析
    2016年秋季阅读个人计划
    梦断代码阅读笔记03
    软件工程概论课程总结
    Python爬取上交所一年大盘数据
    Python爬取6271家死亡公司数据,看十年创业公司消亡史
    python:王思聪究竟上了多少次热搜?
  • 原文地址:https://www.cnblogs.com/bitquant/p/python-matplotlib-kline.html
Copyright © 2011-2022 走看看