【发布时间】:2017-03-08 00:21:22
【问题描述】:
sliderInput("myslider", "Slider:", min=1, max=100, value=6)
返回一个在 1、11、21、31、...、91 和 100 处带有刻度标签的滑块。
我会喜欢确定这些刻度标签以返回更合理的值 1、10、20、30、...90、100 的启发式方法。
我想这会经常出现,因为从 1 到 100 的滑块很常见。 (如果您设置 min=0,它会显示所需的刻度标签,但在许多应用中,您不希望输入为 0。
目前,没有办法向sliderInput 提供用户定义的刻度线标签。是否有仅针对标签的解决方法?
here 发布了一个类似的问题,但它讨论的是创建用户定义的刻度线,而不是标签。
【问题讨论】:
-
如果您设法更改刻度标签,则可以在
server中解码它们 -
很久以前我有一个不漂亮但有效的答案 - see here。我几乎可以肯定应该有更好的方法,这是我刚开始使用 Shiny 时写的
-
实际上我链接到的答案与这个问题并不完全相同,但它可能会对你有所帮助
-
不幸的是,在 Shiny 中没有简单的方法可以做到这一点,因为在底层库离子 Range Slider (github.com/IonDen/ion.rangeSlider) 中没有简单的方法可以做到这一点。在给定
min和max的情况下,刻度值(离子范围滑块术语中的“网格值”)始终由步长(例如:step: 500, grid: true, grid_snap: true)或所需刻度数确定参数(例如:最小值:0,最大值:10000,网格:true,grid_num:10`)。这就是您可以通过更改最小/最大值来更改网格值的原因。