cufflinks QuantFig蜡烛图iplot(asFigure=True)时自定义子图高度
Cufflinks QuantFig 调整子图高度占比方案
核心逻辑:QuantFig.iplot(asFigure=True)返回的是标准Plotly Figure对象,直接修改Plotly原生布局的行高参数即可实现高度占比调整,不会破坏图表右上角的编辑、缩放、导出等所有原生交互功能。
实现步骤
- 保留原有添加技术指标、生成fig的代码逻辑不变
- 在生成fig对象后,调用
update_layout方法传入自定义的height_ratios(部分老版本Plotly参数名为row_heights)参数,按子图从上到下的顺序设置高度比例,所有比例值相加等于1即可。
修改后可直接复用的代码
import cufflinks as cf qf = cf.QuantFig(df_ticker, kind='candlestick', legend='right', name=ticker) # 添加技术指标 原有逻辑完全保留 qf.add_rsi(periods=20, color='java') qf.add_macd(fast_period=12, slow_period=26, signal_period=9) qf.add_volume() # 生成fig对象 原有配置参数全部保留 self.fig = self.qf.iplot(asFigure=True, dimensions=(1000, 600), up_color='green', down_color='red') # 新增行高配置 顺序从上到下对应:[主蜡烛图, RSI子图, MACD子图, 成交量子图] # 比例可按需调整,所有数值总和为1即可 self.fig.update_layout( height_ratios=[0.5, 0.17, 0.17, 0.16] )
兼容说明:如果运行后高度调整未生效,把参数
height_ratios替换为row_heights即可适配对应版本的Plotly依赖。如果需要主图占比更高,可把第一个数值调大到0.6,剩余三个指标子图平分剩下0.4的高度即可。
内容的提问来源于stack exchange,提问作者raphael
相关产品推荐
相关产品推荐

