[python]使用python实现蜡烛图绘制

学习统计的时候,最重要的一个功能就是绘制K线图,而如何绘制好看的K线图呢?博主在这里把自己常用的绘图工具给大家,也当做自己对这个金融领域的一个简单的学习。
1.载入需要的模块
import tushare as ts

import matplotlib.pyplot as plt

import numpy as np

%matplotlib inline

%config InlineBackend.figure_format = 'retina'

%pylab inline

pylab.rcParams['figure.figsize'] = (10, 6) #设置绘图尺寸

from matplotlib.finance import candlestick_ohlc

from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY


2.绘图函数导入

def pandas_candlestick_ohlc(stock_data, otherseries=None):   

 

    # 设置绘图参数,主要是坐标轴

    mondays = WeekdayLocator(MONDAY)

    alldays = DayLocator()  

    dayFormatter = DateFormatter('%d')

 

    fig, ax = plt.subplots()

    fig.subplots_adjust(bottom=0.2)

    if stock_data.index[-1] - stock_data.index[0] < pd.Timedelta('730 days'):

        weekFormatter = DateFormatter('%b %d') 

        ax.xaxis.set_major_locator(mondays)

        ax.xaxis.set_minor_locator(alldays)

    else:

        weekFormatter = DateFormatter('%b %d, %Y')

    ax.xaxis.set_major_formatter(weekFormatter)

    ax.grid(True)

 

    # 创建K线图  

    stock_array = np.array(stock_data.reset_index()[['date','open','high','low','close']])

    stock_array[:,0] = date2num(stock_array[:,0])

    candlestick_ohlc(ax, stock_array, colorup = "red", colordown="green", width=0.4)

 

 

    # 可同时绘制其他折线图

    if otherseries is not None:

        for each in otherseries:

            plt.plot(stock_data[each], label=each)           

        plt.legend()

 

    ax.xaxis_date()

    ax.autoscale_view()

    plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')

   

    plt.show()

3.载入数据,并运行函数

df = ts.get_hist_data('600848')

pandas_candlestick_ohlc(df)

4.绘图完成

以下就是K线图绘制的成果,很简单吧。

[python]使用python实现蜡烛图绘制_第1张图片

如果我的博客帮助到你或者你喜欢我的博客,请给我点个赞,你的支持是博主继续写下去动力。而如果你对我的博客有什么问题或建议,那可以给博主发邮件,博主会选择有代表性的给大家解答。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

你好!我是幸福司马缸,一个幸福的思想家。

我的生活专注于断舍离、健康、家庭与幸福人生;

我的职业探索于统计与大数据、医院管理、投资、公共卫生;

我用业余时间研究如何变得幸福,研究如何让思考变得有趣。

我践行有态度的思考与创作。

我是终生学习者,如果你也是这样的人,欢迎可以关注我。

如果你想跟我一起学习,你也可以加入我的qq群:155454404

期待我能够帮你做点什么,

本文欢迎转发,转发请注明作者和出处。谢谢!

 

很高兴你能够看到我的博客,欢迎到我的其他博客去逛逛,希望能够给你更多的收获

http://blog.csdn.net/qq_36852770 Ash_Zhang的技术小屋;记录IT及代码的学习,以及极客生活

 

http://blog.sina.com.cn/happinessthinker :幸福司马缸;记录个人管理 生活感悟

你可能感兴趣的:(Python)