import?matplotlib.pyplot?as?plt
from?matplotlib.dates?import?DateFormatter,?WeekdayLocator,?DayLocator,?MONDAY,YEARLY
from?matplotlib.finance?import?quotes_historical_yahoo_ohlc,?candlestick_ohlc
plt.rcParams['font.sans-serif']?=?['SimHei']
plt.rcParams['axes.unicode_minus']?=?False
ticker?+=?'.ss'?#?.ss?表示上证?.sz表示深证
mondays?=?WeekdayLocator(MONDAY)??#?主要刻度
alldays?=?DayLocator()????#?次要刻度
if?len(quotes)?==?0:
raise?SystemExit
fig,?ax?=?plt.subplots()
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)
ax.xaxis.set_major_formatter(mondayFormatter)
#ax.xaxis.set_minor_formatter(dayFormatter)
ax.xaxis_date()
ax.autoscale_view()
ax.grid(True)
plt.show()
使用matplotlib模块,相关API请查看网页链接
只要你是个图,它就能给你画出来.
希望可以帮到你
不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典、很重要的工具.在K线图中,它会绘制每天的最高价、最低价、开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助.
一般来说,我们会从各大券商平台获取K线图,但是这种情况下获得的K线图往往不能灵活调整,也不能适应复杂多变的生产需求.所以呢我们有必要学习一下如何使用Python绘制K线图.
我们先使用mpl_finance绘制一下,看看是否一切正常.
可以看到,所有的节假日包括周末,今天这一节都会显示为空白,这对于我们图形的连续性非常不友好,所以呢我们要解决掉他们.
可以看到,空白问题完美解决,这里我们解释一下.由于matplotlib会将日期数据理解为 连续数据 ,而连续数据之间的间距是有意义的,所以非交易日即使没有数据,在坐标轴上还是会体现出来.连续多少个非交易日,在坐标轴上就对应了多少个小格子,但这些小格子上方并没有相应的蜡烛图.
明白了它的原理,我们就可以对症下药了.我们可以给横坐标(日期)传入连续的、固定间距的数据,先保证K线图的绘制是连续的;然后生成一个保存有正确日期数据的列表,此时此刻呢,我们根据坐标轴上的数据去取对应的正确的日期,并替换为坐标轴上的标签即可.
上边format_date函数就是这个作用.由于前边我们给dates列生成了从0开始的序列连续数据,所以呢我们可以直接把它当作索引,从真正的日期列表里去取对应的数据.今天这一节我们要使用matplotlib.ticker.FuncFormattter()方法,它允许我们指定一个格式化坐标轴标签的函数,在这个函数里,我们需要接受坐标轴的值以及位置,并返回自定义的标签.
你学会了吗?
当然,一个完整的K线图到这里并没有结束,后边我们会考虑加入均线、成交量等元素,感兴趣的同学欢迎关注哦!
以上就是土嘎嘎小编为大家整理的pythonk线图函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!