我正在尝试将一个系列(由 [1,2,0,....] 列表组成)添加到我使用 matplotlib 制作的烛台图表中,但无法弄清楚如何为每个特定蜡烛包含这些标签图表。基本上我想制作一张这样的图表:
(来源:linnsoft.com)
在每根蜡烛上方或下方带有带有数字(我的信号系列)的标签。有什么办法可以达到吗?
不知道它是否有帮助,但我的系列是熊猫 DataFrame 类型的......
我正在尝试将一个系列(由 [1,2,0,....] 列表组成)添加到我使用 matplotlib 制作的烛台图表中,但无法弄清楚如何为每个特定蜡烛包含这些标签图表。基本上我想制作一张这样的图表:
(来源:linnsoft.com)
在每根蜡烛上方或下方带有带有数字(我的信号系列)的标签。有什么办法可以达到吗?
不知道它是否有帮助,但我的系列是熊猫 DataFrame 类型的......
这是一个源自 - http://matplotlib.org/examples/pylab_examples/finance_demo.html的示例
请特别注意ax.annotate
下面代码中的方法调用。
from pylab import *
from matplotlib.dates import DateFormatter, WeekdayLocator, HourLocator, \
DayLocator, MONDAY
from matplotlib.finance import quotes_historical_yahoo, candlestick,\
plot_day_summary, candlestick2
# (Year, month, day) tuples suffice as args for quotes_historical_yahoo
date1 = ( 2004, 2, 1)
date2 = ( 2004, 4, 12 )
mondays = WeekdayLocator(MONDAY) # major ticks on the mondays
alldays = DayLocator() # minor ticks on the days
weekFormatter = DateFormatter('%b %d') # Eg, Jan 12
dayFormatter = DateFormatter('%d') # Eg, 12
quotes = quotes_historical_yahoo('INTC', date1, date2)
if len(quotes) == 0:
raise SystemExit
fig = figure()
fig.subplots_adjust(bottom=0.2)
ax = fig.add_subplot(111)
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)
ax.xaxis.set_major_formatter(weekFormatter)
#ax.xaxis.set_minor_formatter(dayFormatter)
#plot_day_summary(ax, quotes, ticksize=3)
candlestick(ax, quotes, width=0.6)
ax.xaxis_date()
ax.autoscale_view()
setp( gca().get_xticklabels(), rotation=45, horizontalalignment='right')
import datetime
dt = datetime.datetime(2004, 3, 8)
# Annotating a specific candle
ax.annotate('This is my special candle', xy=(dt, 24), xytext=(dt, 25),
arrowprops=dict(facecolor='black', shrink=0.05),
)
show()
如果您运行此文件,结果图应显示:-