Plotly Python如何将X轴定位在Y坐标为0的位置
Plotly 自定义位置水平带刻度轴解决方案
以下是两种可直接实现需求的方案:
- 方案1:形状+注释手动模拟,自由度最高,可完美匹配参考图样式
直接在你需要的Y坐标位置绘制水平线,再手动添加刻度短线和文本即可,核心代码示例如下:import plotly.graph_objects as go fig = go.Figure() # 此处先添加你已有的主体图表绘图逻辑 # 绘制指定Y位置的水平基准线,示例Y坐标为0,可替换为你需要的数值 fig.add_shape( type="line", x0=0, x1=10, # 替换为你的X轴实际取值范围 y0=0, y1=0, line=dict(color="#000000", width=2) ) # 自定义添加刻度 tick_x_list = [1, 3, 5, 7, 9] # 替换为你需要显示刻度的X坐标值 for x_val in tick_x_list: # 绘制刻度短竖线 fig.add_shape( type="line", x0=x_val, x1=x_val, y0=-0.1, y1=0.1, # 可调整数值修改刻度线长度 line=dict(color="#000000", width=1.5) ) # 绘制刻度文本 fig.add_annotation( x=x_val, y=-0.25, # y值可调整修改文本和水平轴的间距 text=str(x_val), showarrow=False, font=dict(size=12) ) # 如果不需要默认底部X轴可以隐藏 fig.update_layout( xaxis=dict(showticklabels=False, showline=False, zeroline=False) ) fig.show() - 方案2:复用Plotly原生坐标轴逻辑,适合不想手动维护刻度的场景
新增一个次Y轴,将其固定在你需要的Y坐标位置,再把X轴绑定到该次Y轴上,直接用Plotly自带的刻度渲染能力,不需要手动写刻度生成逻辑。
内容的提问来源于stack exchange,提问作者Quentin Demange
相关产品推荐
相关产品推荐

