Plotly:如何在子图上绘制烛台图?
Posted
技术标签:
【中文标题】Plotly:如何在子图上绘制烛台图?【英文标题】:Plotly: How to plot candlestick charts on a subplot? 【发布时间】:2022-01-14 19:32:01 【问题描述】:我正在尝试绘制一个包含 14 个加密货币数据烛台图的子图。 ( https://www.kaggle.com/c/g-research-crypto-forecasting)
但是,它似乎无法正常显示图形。
这是我的代码:
from plotly import subplots
import plotly.graph_objects as go
fig = subplots.make_subplots(rows=7,cols=2)
for ix,coin_name in enumerate(asset_details["Asset_Name"]):
coin_df = crypto_df[crypto_df["Asset_ID"]==asset_names_dict[coin_name]].set_index("timestamp")
coin_df_mini = coin_df.iloc[-100:]
column = lambda ix: 1 if ix % 2 == 0 else 2
candlestick = go.Candlestick(x=coin_df_mini.index, open=coin_df_mini['Open'], high=coin_df_mini['High'], low=coin_df_mini['Low'], close=coin_df_mini['Close'])
fig = fig.add_trace(candlestick, row=((ix//2) + 1), col=column(ix))
fig.update_layout(xaxis_rangeslider_visible=False)
fig.update_layout(title_text="Candlestick Charts", height=2800)
fig.show()
这就是问题所在:
rangeslider_problem
无论我用或不用范围滑块绘制图形,它总是变形。
【问题讨论】:
有没有办法让滑块保持循环? 【参考方案1】:您需要隐藏在子图中创建的 x 轴单位上的滑块。我的回答是手动完成所有子图。我现在没有时间处理这个,但是还有一种方法可以在循环过程中更新输出内容。
fig.update_layout(xaxis1=dict(rangeslider=dict(visible=False)),
xaxis2=dict(rangeslider=dict(visible=False)),
xaxis3=dict(rangeslider=dict(visible=False)),
xaxis4=dict(rangeslider=dict(visible=False)),
xaxis5=dict(rangeslider=dict(visible=False)),
xaxis6=dict(rangeslider=dict(visible=False)),
xaxis7=dict(rangeslider=dict(visible=False)),
xaxis8=dict(rangeslider=dict(visible=False)),
xaxis9=dict(rangeslider=dict(visible=False)),
xaxis10=dict(rangeslider=dict(visible=False)),
xaxis11=dict(rangeslider=dict(visible=False)),
xaxis12=dict(rangeslider=dict(visible=False)),
xaxis13=dict(rangeslider=dict(visible=False)),
xaxis14=dict(rangeslider=dict(visible=False)),
)
【讨论】:
请添加以上代码。如果我的回答对你有帮助,请点击我的回答上的勾号接受。 谢谢!它确实有效。我发现我可以在循环中使用fig.update_xaxes(rangeslider_visible=False)
。
您不接受我的回复的原因是什么?以上是关于Plotly:如何在子图上绘制烛台图?的主要内容,如果未能解决你的问题,请参考以下文章