【发布时间】:2021-07-30 03:03:29
【问题描述】:
我想分开我的面板,因为标题重叠。 ADX 标题在 RSI 面板中。我试过tight_layout=True,但还是一样。
我的代码:
ap0 = [
mpf.make_addplot(df['sma_200'],color='#FF0000', panel=2),
mpf.make_addplot(df['sma_50'],color='#ffa500', panel=2),
mpf.make_addplot(df['sma_20'],color='#00FF00', panel=2),
mpf.make_addplot(df['rsi'],color='#ffa500', panel=0, title="RSI"),
mpf.make_addplot(df['hline_30'], panel=0),
mpf.make_addplot(df['hline_70'], panel=0),
mpf.make_addplot(df['adx'],color='#0000FF', panel=1, secondary_y=False, title="ADX"),
mpf.make_addplot(df['-di'],color='#FF0000', panel=1, secondary_y=False),
mpf.make_addplot(df['+di'],color='#32cd32', panel=1, secondary_y=False),
mpf.make_addplot(df['hline_25'], panel=1, secondary_y=False)
]
fig, axlist = mpf.plot(
df,
panel_ratios=(.05, .05, .2, .05),
type="hollow_candle",
yscale='log',
volume=True,
title="{} - {}".format(ticker, interval),
style=mpf_style,
figsize=(12.8, 10),
returnfig=True,
closefig=True,
addplot=ap0,
main_panel=2,
volume_panel=3,
num_panels=4,
)
【问题讨论】:
-
除了下面r-beginners answer中的两个建议(顺便说一句非常好),您还可以尝试调整panel ratios以使上面板更大一些,并设置
ylim在make_addplot()调用中,以便数据本身在这些面板中占用更少的空间。这将有效地在这些面板中创建更多空间,为标题留出更多空间。我不是 100% 确定这会奏效(还没有尝试过),但它可能会。 -
另一个想法,我还没有尝试过,但我认为可能可行:从
mpf.make_mpf_style()创建自定义mpf_style时包括kwargrc={"axes.titley":0.8}...不一定是0.8,而是(我想想)任何低于 1.0 的数字代表面板的最顶部。此参数 ("axes.titley") 将提高或降低传递给make_addplot()的title的位置。通过玩弄它的价值,您也许能够找到一个适合您的情节的位置。
标签: python matplotlib mplfinance