我想使用Shiny Sliderinput建立一个双极性标度-即从“负”到“中性”再到“正”值。
为此,我不仅需要在音阶的上,下两端而且在中间的永久文本值。 how to change labels to text-values already has an answer的问题,所以问题应该是
鉴于@shosaco在上述答案中更改美化功能的方法,第二部分应该不难实现,因此可以归结为第一部分。在他的代码的基础上,第二部分已经可以通过类似的方式完成,但是也许有更好的解决方案:
R代码:
library(shiny)
ui <- fluidPage(
includeScript("slider.js"),
sliderInput("YOUR_SLIDER_ID",
"Slider Value:", ticks = F,
min = -100, max = 100, value = 0)
)
server <- function(input, output) {}
shinyApp(ui, server)
Java脚本:“ slider.js”
//https://stackoverflow.com/questions/40415471/sliderinput-max-min-text-labels
$(document).ready(function() {
/**
Custom slider labels
**/
// Convert numbers of min to max to "negative", "neutral" and "positive"
function returnLabels(value) {
if (value === -100){ // enter your lowest slider value here
return "negative";
}else if (value === 100){// enter your highest slider value here
return "positive";
}else if (value === 0){// enter your neutral slider value here
return "neutral";
} else
return value;
}
var someID = $("#YOUR_SLIDER_ID").ionRangeSlider({ // enter your shiny slider ID here
prettify: returnLabels,
force_edges: true,
grid: false
});
});