jquery 在其他函数中获取Chart js对象

dxpyg8gm  于 2024-01-07  发布在  jQuery
关注(0)|答案(4)|浏览(158)

在创建这样的图表(使用Chart.js,最新版本)之后:

  1. var ctx = $('#graph');
  2. var graph = new Chart(ctx, {
  3. type: 'line',
  4. data: someData,
  5. });

字符串
我想在另一个函数中检索Chart对象,以便向其添加一些数据点:

  1. var graph = ???
  2. graph.data.labels.push(1)
  3. graph.data.datasets[0].data.push(10);


如何获取Chart对象?
在此先谢谢您!

wz3gfoph

wz3gfoph1#

你可以这样做:

  1. var graph = Chart.getChart('graph')

字符串
在v3中工作-不确定它是什么时候引入的。

elcex8rz

elcex8rz2#

或许:

  1. var ctx = $('#graph');
  2. var graph = new Chart(ctx, {
  3. type: 'line',
  4. data: someData,
  5. });
  6. ctx.data('graph', graph);

字符串
后来:

  1. var graph = $('#graph').data('graph');
  2. graph.data.labels.push(1)
  3. graph.data.datasets[0].data.push(10);
  4. graph.update();


关于我们

展开查看全部
xpcnnkqh

xpcnnkqh3#

你可以直接使用graph对象,而不需要将其赋值给另一个变量 (考虑到graph是一个全局变量) 来添加来自另一个函数的任何类型的数据。
这里有一个快速的例子.

  1. var ctx = $('#graph');
  2. var graph = new Chart(ctx, {
  3. type: 'line',
  4. data: {
  5. labels: ["January", "February", "March", "April", "May"],
  6. datasets: [{
  7. label: "Sales",
  8. data: [1, 2, 3, 4, 5],
  9. fill: false,
  10. borderColor: '#07C',
  11. }]
  12. }
  13. });
  14. function addData() {
  15. graph.data.labels.push('June')
  16. graph.data.datasets[0].data.push(6);
  17. graph.update();
  18. }

个字符
如果graph变量在一个函数内部,那么你必须让变量 global 才能在另一个函数中使用它。

展开查看全部
nr7wwzry

nr7wwzry4#

  1. //get object
  2. const chartJS: Chart = $("#myChart").data('chart');
  3. //change something
  4. chartJS.config.options.scales.yAxes[0].ticks.min = minVal <= 0 ? minVal : minVal -
  5. //update
  6. chartJS.update();

字符串

相关问题