Python中Pandas绘图异常:bool列False时仍绘制标记
解决Pandas绘制交易信号标记的问题
你现在的问题是没筛选出long/short信号为True的行,直接用了全量的索引和收盘价数据,所以不管信号真假,所有位置都画了标记。
修正方法很简单:先通过布尔索引筛选出信号为True的记录,再取对应的时间索引和收盘价来绘制标记:
data_frame.set_index('timestamp', inplace=True) # 将时间列设为索引 plt.plot(data_frame['close']) # 筛选long信号为True的行,绘制绿色上箭头标记 long_signals = data_frame[data_frame['long'] == True] plt.plot(long_signals.index, long_signals['close'], '^', markersize=2, color='g') # 筛选short信号为True的行,绘制红色标记(做空信号建议用向下箭头'v'更直观) short_signals = data_frame[data_frame['short'] == True] plt.plot(short_signals.index, short_signals['close'], '^', markersize=2, color='r') plt.show()
如果想要更清晰地区分多空信号,可以把做空的标记改成向下箭头:
plt.plot(short_signals.index, short_signals['close'], 'v', markersize=2, color='r')
内容的提问来源于stack exchange,提问作者vowag13080
相关产品推荐
相关产品推荐

