Backtrader 是一个非常好的量化框架,但是作者似乎两年前就不维护了。其他用的还好,包括指标库都很好用,但就是用 Backtrader 的可视化接口时,横坐标值总是不显示,导致其他的一些 API 比如坐标值的文本旋转等也没用。解决办法有下面两个:
方法一(推荐):修改 backtrader 源文件
#修改site-packages/backtrader/plot/plot.py
for ax in laxis:
self.mpyplot.setp(ax.get_xticklabels(), visible=False)
#修改成
self.mpyplot.setp(ax.get_xticklabels(), visible=True)
方法二(不推荐):直接通过 Matplotlib
来设置
my_plot = cerebro.plot()
#查看图片有几个 axes
pirnt(len(my_plot[0][0].axes)) #假设有三个
#设置三个 axes 的 ticks 位置为默认
ax1= my_plot[0][0].axes[0]
ax2= my_plot[0][0].axes[1]
ax3= my_plot[0][0].axes[2]
ax1.xaxis.set_ticks_position('default') # 设置该 axes 中的 ticks 位置默认
ax2.xaxis.set_ticks_position('default')
ax3.xaxis.set_ticks_position('default')