На одной странице html у меня есть меню выбора (a, b, c, d) и гистограмма (строки a, b, c, d). Я хочу, чтобы выделить соответствующий бар в гистограмме, выбранный в меню выбора.Как выделить одиночную строку в гистограмме с помощью Chartjs
1
A
ответ
2
Вы можете прикрепить логику вашего OnChange обработчика
document.getElementById("mySelect").onchange = highlightBar.bind(document.getElementById("mySelect"));
, и если вы хотите назвать это программно (скажем, если у вас есть начальный набор значений)
document.getElementById("mySelect").onchange();
Вот логика выделяя бары. Обратите внимание, что вам нужно учитывать тот факт, что функциональность всплывающей подсказки также управляет цветами заливки и цветами штриха.
function highlightBar(s) {
// this clears off any tooltip highlights
myBarChart.update();
myBarChart.activeElements = [];
// reset any coloring because of selection
myBarChart.datasets.forEach(function(dataset) {
dataset.bars.forEach(function (bar) {
if (bar.selected) {
bar.fillColor = bar.selected.fillColor;
bar.strokeColor = bar.selected.strokeColor;
delete bar.selected;
}
})
});
var index = myBarChart.scale.xLabels.indexOf(this.value);
myBarChart.datasets.forEach(function (dataset) {
var selectedBar = dataset.bars[index];
// store the current values
selectedBar.selected = {
fillColor: selectedBar.fillColor,
strokeColor: selectedBar.strokeColor
}
// now set the color
selectedBar.fillColor = "red";
selectedBar.strokeColor = "red";
});
myBarChart.update();
}
Однако, если у вас не включена поддержка всплывающих подсказок, это становится гораздо проще и вам не нужны некоторые из выше логики.
Fiddle - http://jsfiddle.net/39owabm0/
Смежные вопросы
- 1. chartjs: как настроить пользовательский масштаб в гистограмме
- 2. Как рисовать вертикальную линию на горизонтальной гистограмме с помощью ChartJS?
- 3. Как выделить одиночную линию сетки оси y
- 4. Как добавить строку в ggplot2 с помощью geom_path в гистограмме
- 5. Как выделить выделенную строку с помощью jQuery?
- 6. Как выделить строку таблицы с помощью rightclick
- 7. Показать последние ярлыки на гистограмме с помощью React.js с помощью response-chartjs
- 8. Как написать одиночную строку в файле записи?
- 9. Как выделить строку в gtk.Table?
- 10. Как выделить строку в NSBrowser?
- 11. выделить строку таблицы с помощью angularjs
- 12. Как выделить бункер наблюдения в гистограмме в R
- 13. Как выделить строку таблицы
- 14. Как выделить выделенную строку в таблице с помощью JQuery?
- 15. Как выделить строку в gridview?
- 16. Как выделить строку в QTableWidget?
- 17. Редактировать одиночную строку и обновить только эту строку в Datagridview
- 18. Как выделить один галочку по оси X в гистограмме?
- 19. Как сгруппировать записи легенды с помощью Chartjs?
- 20. getContext ошибок с помощью chartjs
- 21. Как создать сложный граф с помощью ChartJS
- 22. R: Добавить одиночную кавычку в строку
- 23. Как создать округленный прямоугольник с помощью ChartJS
- 24. Как выделить строку в NSTableView
- 25. Как выделить строку в UITableView
- 26. ChartJS: получить значение метки при нажатии на гистограмме
- 27. Перезаписать одиночную строку в txt-файле
- 28. Как выделить выделенную строку и заголовок с помощью handsontable?
- 29. Как выделить строку с помощью c api R?
- 30. Как выделить строку таблицы результатов с помощью json2html?
По изюминкой вы имеете в виду сделать другой цвет, чем остальные? Если это так, вы можете сделать что-то вроде этого: http://stackoverflow.com/questions/25594478/different-color-for-each-bar-in-a-bar-chart-chartjs Это зависит от того, как вы создаете диаграмму , если вы поделились некоторым кодом, который был бы полезен. Но я бы соответствовал положениям ярлыков на графике с меню, а затем onclick, находил, какую позицию занимал элемент меню, когда он был нажат, а затем сделал цвет заливки на гистограмме в той же позиции. –