matplotlib无法在图上显示标记

时间:2015-08-05 05:41:44

标签: python pandas matplotlib

我需要在线上显示标记。

但是,此代码只能显示行,标记不会显示。

数据框t_ma的信息:

<class 'pandas.core.frame.DataFrame'>
MultiIndex: 7844279 entries, (2014-07-01 00:00:00, 0 days 09:15:00.500000) to (2015-06-30 00:00:00, 0 days 15:14:59.800000)
Data columns (total 1 columns):
ask    float64
dtypes: float64(1)
memory usage: 106.0+ MB

绘制情节的代码:

t_ma = pd.rolling_mean(ticker[['ask']],60)
fig = plt.figure(figsize=(20, 15), dpi=300)
ax1 = fig.add_subplot(211)
t_ma.ix[dt]['ask'].plot(ax=ax1, color='r')
ax1.plot(t_ma.ix[dt]['ask'].index,t_ma.ix[dt]['ask'].values,'^', markersize=10, color='b')
fig.show()

1 个答案:

答案 0 :(得分:1)

使用marker = valid markerstyle作为plot参数。

因此,在您的情况下:

ax1.plot(t_ma.ix[dt]['ask'].index,
         t_ma.ix[dt]['ask'].values, 
         marker='^', 
         markersize=10, 
         color='b')

marker还有更多其他参数,您可以在下面看到有效的标记设置:

plot(x, y, color='green', linestyle='dashed', 
     marker='o',
     markerfacecolor='blue', 
     markersize=12)

有关更多选项,请参阅docs