Я пытаюсь создать блестящий слайдер, который представляет месяцы года. В идеале, мне хотелось бы, чтобы месяцы отображались как строки/символы, а не целые числа (где 1 = январь, 2 = февраль и т. Д.).Изменение вопроса Блестящий слайдер для представления категориальных/строковых функций с пользовательским javascript
Я нашел this question, что привело меня к this answer, что позволяет отображать символы на ярком слайдере. Он вставляет JS-код в R.
Когда я пытаюсь изменить приведенный выше ответ, чтобы соответствовать моему примеру, я могу правильно отображать имена месяцев, но я думаю, что есть проблема с циклом в JS-коде. Вместо января, соответствующего значению 1, оно соответствует значению 0. Я считаю, что это результат индексации JS от 0, тогда как R индексов от 1. Но я только начинающий в JS, поэтому я ' m не уверен, как исправить эту проблему, чтобы мой слайдер правильно отображал 1 в качестве января и т. д. В качестве заметки снова я начинаю JS, поэтому код, который я здесь представил, был изменен на что-то, что просто сработало и, возможно, имеет много возможностей для улучшения! Я просто работал над приведенным примером.
library(shiny)
JScode <-
"$(function() {
setTimeout(function(){
var vals = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
for (i = 1; i >= vals.length; i++) {
var val = (1,12);
vals.push(val);
}
$('#month').data('ionRangeSlider').update({'values':vals})
}, 12)})"
runApp(shinyApp(
ui = fluidPage(
tags$head(tags$script(HTML(JScode))),
sliderInput("month",
"Month:",
min = 1,
max = 12,
value = 1,
step = 1,
width = "100%")
),
server = function(input, output, session) {
observeEvent(input$month, {
print(input$month)
})
}
))
У меня есть ползунок установлен в значение 1, так что автоматическое отображение должно быть в январе. Вместо этого, это в феврале.
Какие-либо средства правовой защиты? Я считаю, что проблема кроется в цикле JS, но я весь день занимаюсь этим и не могу найти решение.
Обычно это самое простое решение, которое работает, а? Благодаря! Мой фактический код является частью карты, и у меня были следующие ошибки, потому что у меня был цвет заливки, который нужно обновить с индексированным номером строки (так что январь не показывался, потому что в R не было 0 столбца). Добавлен '+ 1' в код, и теперь все работает. Еще раз спасибо! – Lauren