在一个html页面中,我有一个选择菜单(a, b, c, d)和一个条形图(a, b, c, d)。我想做的是在选择菜单中选择的条形图中突出显示相应的条形图。
您可以将逻辑附加到您的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();
}
但是,如果您没有启用工具提示,它会变得简单得多,并且您不需要上面的一些逻辑。
工作小提琴-http://jsfiddle.net/39owabm0/198/
我希望这个图中的条形图有我自己选择的不同颜色。我不想使用随机的颜色为酒吧(或一组酒吧)。
我正在尝试使用ChartJS创建一个条形图,如下所示: 我想知道如何分别为每个条添加渐变颜色,并根据它们的高度添加渐变颜色。 我在这里找到了一个非常接近的解决方案,但它为整个图形设置了,而不是单个条。 另外,如果我为每个条创建渐变,这个解决方案更接近,但是,我想根据条的高度设置渐变。 有没有办法指定根据酒吧高度,而不是坐标上的
我有一个这样的数据帧: 现在,我想绘制水平条形图,其中平台名称位于相应的条形图中,使其看起来像这样: 我该怎么做?
问题内容: 需要查看条形图中的条形所代表的确切值,而不是Y轴上的近似值。 怎么可能呢? 谢谢阅读! 问题答案: 在iReport 3.7.6中,您可以仅选中BarPlot属性下的“显示标签”框。 在以前的版本(3.1.4)中,我必须创建一个ChartCustomizer类。 如果您需要格式化标签中的数字(例如,设置为百分比,添加千位分隔符等),那么即使在新版本中,您也绝对需要一个ChartCust
我试图创建一个堆叠条形图与chartjs。我有时间差异的时间序列,这意味着一些序列可以在一段时间内有价值,但其他序列没有价值。出于这个原因,我选择直接将x值包含在数据集中,而不是作为标签数组,但是图表不能正确渲染。 这是我的代码: 我认为问题在于x轴堆叠。 这里有一个JSFiddle来说明这个问题。 https://jsfiddle.net/1kLyyjfp/
我需要一种在ChartJS中显示堆叠条形图中多个数据段的方法。在官方文档中,标签属于堆栈的每个部分,但我需要这些部分是独立的。 我已经模拟了我需要实现的输出类型。我们每天有三个堆叠的条,每个条显示一个单独的数据集。在每个数据集中,我们有一个段,它实际上是该条的子集。 不幸的是,中的属性似乎不接受数组。这个图表可以使用ChartJS吗?