问题描述
我有以下代码(请参见codepen),使我可以在绘制图表后更改每个直方图数据点的颜色。它按预期工作。但是,当用户将鼠标悬停在数据点上时,颜色会混乱。发生了什么事,我该如何解决?
google.charts.load('current',{packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var rawData = [
['Dinosaur','Length','color'],['Acrocanthosaurus (top-spined lizard)',12.2,'red'],['Albertosaurus (Alberta lizard)',9.1,'green'],['Allosaurus (other lizard)',];
// sort data by 'Length'
var data = google.visualization.arrayToDataTable(rawData);
data.sort([{column: 1}]);
var options = {
title: 'Lengths of dinosaurs,in meters',legend: { position: 'none' },};
var container = document.getElementById('chart_div');
var chart = new google.visualization.Histogram(container);
google.visualization.events.addListener(chart,'ready',function () {
var observer = new MutationObserver(function () {
var index = 0;
var item = 1;
Array.prototype.forEach.call(container.getElementsByTagName('rect'),function (rect) {
if (rect.getAttribute('fill') === '#3366cc') {
rect.setAttribute('fill',rawData[item][2]);
item++
}
index++;
});
});
observer.observe(container,{
childList: true,subtree: true
});
});
chart.draw(data,options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)