首页 > 解决方案 > Plotly:刻度标签范围 - 隐藏带有负值的刻度

问题描述

我觉得我已经尝试了一切,但我找不到在 Python Plotly 中隐藏负刻度标签的方法。有没有办法做到这一点?

我一般喜欢默认刻度,因为它们对数据的变化和放大反应很好,但是有时我的数据永远不会低于 0 - 我想保持 X 轴范围为负值以获得某些可见性(而不是靠近边缘的图表中的聚类点),但想要隐藏 -5、-10 等刻度。

我知道我可以设置 tick0 和 dtick 来制作自己的刻度,但在我的情况下它更复杂,因为我正在使用 ipywidgets 更改变量,所以它会不断变化,否则我喜欢默认刻度

标签: pythonplotly

解决方案


  • 使用评论中的代码
  • 从您定义的范围内定义tickvalsticktext的简单案例。授予的 stepSize 不是自动化的
import numpy as np
import plotly.graph_objects as go

N = 1000 
t = np.linspace(0, 10, 100) 
y = np.sin(t)  
fig = go.Figure(data=go.Scatter(x=t, y=y, mode='markers')) 
fig.layout.xaxis.range = [-5, 11] 
stepSize = 2
r = range(fig.layout["xaxis"]["range"][0], fig.layout["xaxis"]["range"][1], stepSize)
fig.update_layout(xaxis={"tickvals":list(r),
                        "ticktext":[t if t>=0 else '' for t in r]})



推荐阅读