我正在开发一个Dash,并且有一个允许选择日期范围的RangeSlider元素。以下是代码:
dcc.RangeSlider(
id='my-range-slider',
marks={timegm(datetime.strptime(years_list[i], '%Y-%m').utctimetuple()): {"label": years_list[i], "style": {"transform": "rotate(45deg)"}}
for i in range(len(years_list))},
min=min_value,
max=max_value,
value=[min_value,max_value],
step=1,
)其中"years_list“是日期字符串的列表。RangeSlider连接到一个图形,但问题是years_list太长,标记看起来像下面的图像,而如果列表不是太长,则值是好的。

有办法限制RangeSlider中可见标记的数量吗?或者解决这个图形问题的方法?
发布于 2022-03-05 18:59:45
您可以使用range()函数的“步骤”参数来调整范围滑块上的标记数。您可以选择最大数量的标记来保持用户界面的整洁。
import math
qty_of_years = len(years_list)
maximum_number_of_slider_marks = 20 # You pick max qty for good visuals in user interface
step_required_for_range = math.ceil(qty_of_years/maximum_number_of_slider_marks)
marks={timegm(datetime.strptime(years_list[i], '%Y-%m').utctimetuple()): {"label": years_list[i], "style": {"transform": "rotate(45deg)"}}
for i in range(0, qty_of_years, step_required_for_range)},https://stackoverflow.com/questions/71364828
复制相似问题