javascript - 创建条形图后如何更改其背景颜色?

标签 javascript css html5-canvas chart.js

创建条形图后如何更改它的颜色?我有以下内容。

https://codepen.io/anon/pen/QoboRg?editors=1010#0

// can't move to home.js because the label is dynamic
var topClickSourceChart = new Chart('dashboard-click-source-chart', {
    type: 'bar',
    data: {
      datasets: [
    	  {label: "NONE", data: [14]},{label: "Facebook", data: [10]},{label: "Google", data: [5]},{label: "Reddit", data: [1]},{label: "Twitter", data: [1]},
   	  ]
    },
});
topClickSourceChart.data.datasets[0].backgroundColor = '#4D90C3';
topClickSourceChart.data.datasets[1].backgroundColor = '#866DB2';
topClickSourceChart.data.datasets[2].backgroundColor = '#EA6F98';
topClickSourceChart.data.datasets[3].backgroundColor = '#61BDF6';
topClickSourceChart.data.datasets[4].backgroundColor = '#768BB7';
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.bundle.min.js" integrity="sha256-MZo5XY1Ah7Z2Aui4/alkfeiq3CopMdV/bbkc/Sh41+s=" crossorigin="anonymous"></script>

<canvas id="dashboard-click-source-chart" height="200" width="200"></canvas>

It used to work .我不明白发生了什么变化,特别是因为我有一个资源完整性哈希属性。

它似乎在此处的全页片段中有效,但在小片段中无效,在 CodePen 中无效,在我的本地站点中无效。

为什么它会忽略某些网站上的背景颜色而不是其他网站上的背景颜色?

最佳答案

我找到了 .update() 函数。

https://www.chartjs.org/docs/latest/developers/updates.html

我只需要添加

topClickSourceChart.update();

有趣的是,它有时有效但有时无效,具体取决于窗口的大小。

// can't move to home.js because the label is dynamic
var topClickSourceChart = new Chart('dashboard-click-source-chart', {
    type: 'bar',
    data: {
      datasets: [
    	  {label: "NONE", data: [14]},{label: "Facebook", data: [10]},{label: "Google", data: [5]},{label: "Reddit", data: [1]},{label: "Twitter", data: [1]},
   	  ]
    },
});
topClickSourceChart.data.datasets[0].backgroundColor = '#4D90C3';
topClickSourceChart.data.datasets[1].backgroundColor = '#866DB2';
topClickSourceChart.data.datasets[2].backgroundColor = '#EA6F98';
topClickSourceChart.data.datasets[3].backgroundColor = '#61BDF6';
topClickSourceChart.data.datasets[4].backgroundColor = '#768BB7';
topClickSourceChart.update();
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.bundle.min.js" integrity="sha256-MZo5XY1Ah7Z2Aui4/alkfeiq3CopMdV/bbkc/Sh41+s=" crossorigin="anonymous"></script>

<canvas id="dashboard-click-source-chart" height="200" width="200"></canvas>

关于javascript - 创建条形图后如何更改其背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54914787/

相关文章:

javascript - 如何在同一文本区域内重新映射键盘

javascript - 使用水平 slider 时禁用侧面菜单滑动事件 - ionic

css - Bootstrap navbar 导致网页太长

css - 在 SASS 中获取设备大小

javascript - 这段 JavaScript 代码不应该工作吗?

javascript - 在 javascript 中滚动时隐藏标题的性能问题

javascript - angularjs删除index.html

javascript - 如何将我的背景制作成自动幻灯片/轮播?

javascript - 对于 Fabric.js 中的形状,如何知道某人是否正在调整大小以使其变小或变大

html 5 验证密码和确认密码