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
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()
df = ts.get_hist_data('600848')
pandas_candlestick_ohlc(df)
4.绘图完成
以下就是K线图绘制的成果,很简单吧。
如果我的博客帮助到你或者你喜欢我的博客,请给我点个赞,你的支持是博主继续写下去动力。而如果你对我的博客有什么问题或建议,那可以给博主发邮件,博主会选择有代表性的给大家解答。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
你好!我是幸福司马缸,一个幸福的思想家。
我的生活专注于断舍离、健康、家庭与幸福人生;
我的职业探索于统计与大数据、医院管理、投资、公共卫生;
我用业余时间研究如何变得幸福,研究如何让思考变得有趣。
我践行有态度的思考与创作。
我是终生学习者,如果你也是这样的人,欢迎可以关注我。
如果你想跟我一起学习,你也可以加入我的qq群:155454404
期待我能够帮你做点什么,
本文欢迎转发,转发请注明作者和出处。谢谢!
很高兴你能够看到我的博客,欢迎到我的其他博客去逛逛,希望能够给你更多的收获
http://blog.csdn.net/qq_36852770 :Ash_Zhang的技术小屋;记录IT及代码的学习,以及极客生活
http://blog.sina.com.cn/happinessthinker :幸福司马缸;记录个人管理 生活感悟