Pandas 向matplotlib中的烛台图表添加标签

Pandas 向matplotlib中的烛台图表添加标签,pandas,label,candlestick-chart,Pandas,Label,Candlestick Chart,我试图将一个系列(由[1,2,0,…]列表组成)添加到使用matplotlib生成的烛台图表中,但无法解决如何在图表中包含每个特定蜡烛的标签。基本上我想制作一张这样的图表: (来源:) 标签上的数字(我的信号系列)正好位于每个蜡烛的上方或下方。 我有什么办法可以做到吗 我不知道这是否有帮助,但我的系列是熊猫数据帧类型的…以下是一个源于- 特别注意ax。在下面的代码中注释方法调用 from pylab import * from matplotlib.dates import DateForm

我试图将一个系列(由[1,2,0,…]列表组成)添加到使用matplotlib生成的烛台图表中,但无法解决如何在图表中包含每个特定蜡烛的标签。基本上我想制作一张这样的图表:


(来源:)

标签上的数字(我的信号系列)正好位于每个蜡烛的上方或下方。 我有什么办法可以做到吗


我不知道这是否有帮助,但我的系列是熊猫数据帧类型的…

以下是一个源于-

特别注意
ax。在下面的代码中注释
方法调用

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()
如果运行此文件,生成的绘图应显示:-


以下是一个源于以下内容的示例-

特别注意
ax。在下面的代码中注释
方法调用

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()
如果运行此文件,生成的绘图应显示:-


谢谢您的回复。我已经看到了这段代码,但找不到一种简单的方法为每根蜡烛显示一个特定的标签(与另一个相同长度的系列相关联)。我想知道是否有一种实际的方法可以做到这一点..我设法在for循环中包含了您的代码,现在它可以工作了。。。谢谢谢谢你的回复。我已经看到了这段代码,但找不到一种简单的方法为每根蜡烛显示一个特定的标签(与另一个相同长度的系列相关联)。我想知道是否有一种实际的方法可以做到这一点..我设法在for循环中包含了您的代码,现在它可以工作了。。。谢谢