自定义Plotly candlestick颜色出现时间分区,如何实现同时间段混色显示
问题原因
你拆分了3个独立的蜡烛图轨迹进行渲染,Plotly会将每个轨迹的所有时间点按顺序连续排布,不同轨迹的蜡烛不会在时间轴上交叉显示,因此就出现了按颜色分片的区块效果。
解决方案
无需拆分多个轨迹,仅使用单个蜡烛图轨迹,按oi字段为每根蜡烛单独指定颜色即可,实现代码如下:
import pandas as pd import plotly.graph_objects as go data = pd.DataFrame(master.intradata) # 配置oi值对应的蜡烛颜色 color_map = { 1: "red", 2: "green", 3: "orange" } # 为每行数据匹配对应颜色 data["candle_color"] = data["oi"].map(color_map) fig = go.Figure(go.Candlestick( x=data["time"], open=data["open"], high=data["high"], low=data["low"], close=data["close"], # 涨跌状态都使用oi对应的颜色 increasing = { "fillcolor": data["candle_color"], "line": {"color": data["candle_color"]} }, decreasing = { "fillcolor": data["candle_color"], "line": {"color": data["candle_color"]} } )) fig.show()
内容的提问来源于stack exchange,提问作者neikel
相关产品推荐
相关产品推荐

