当前位置: 首页 > 知识库问答 >
问题:

如何从动态创建的图表中获取ChartJs对象

荣轶
2023-03-14

我有一个LandingPage,它使用ChartJs动态加载图表。

我需要得到点击的图表和它的属性值。

定义图表的代码位于检索到的动态生成列(bootstrap)的循环中:

var canvasId = columnID.replace("col", "");
    canvasId = parseInt(canvasId);
    var canvasChart = $("#canvas" + canvasId).get(0).getContext("2d");

    chart = new Chart(canvasChart,
        {
            type: type,
            data: { etc etc

onClick事件调用一个模态弹出窗口并设置它的元素,但我需要得到正确的图表(每个图表都有不同的画布id)

function chart_click(colId)
{
    var parentId = $("#" + colId).closest('.colm').prop("id");
    document.getElementById('ChartEditId').value = parentId;

    // Get the chart's properties. The chart (ID) could be 'canvas01,..canvas09'
    var ChartObject =....HELP
    var type= ??;
    var legendPosition= ??;
    var data = ??.data.datasets...:
    etc..

   // Set the modal's elements from the chart properties
   ...code to set modal's elements

    // Show the ChartEdit modalPopup with it's matched elements' property values
    chartEditpopup.style.display = 'block';
}

谢谢

共有1个答案

史英睿
2023-03-14

在制作图表时,将对象存储在一个包含2个值的数组中,包括图表对象和该图表的id。这样,当您单击图表时,您就可以从数组中选择正确的对象。

您还可以将chart.js对象存储在一个数组中,并确保该对象的索引在id中,然后解析出索引并从数组中获取该元素,而不是跟踪id的with object

 类似资料:
  • 我用chartjs创建了一个基本的条形图,效果很好。现在,我想以基于时间的间隔更新这些值。我的问题是,在我创建图表之后,我不知道如何正确地更新它的值。。。 我的代码: 在测试代码中,我正在使用-这是正确的方法吗?问题是每次调用,值都会重置为0,然后设置为随机值(就像我正在重新创建图表一样)。这样,所有动画总是从0到值,这看起来很奇怪。我希望如果我将一个值从50更新到10,该条将从50下降到10,而

  • 我刚到姜戈。我目前正在通过推特应用编程接口对实时用户推文进行情感分析。我已经设法做了分析和表达情感。现在,我想在我的Django应用程序中使用图表(也许是条形图或饼图)来可视化情感,但我不确定如何实现。 我在考虑使用图表。js使其具有响应性,但大多数示例都使用静态数据,因此我没有成功地将从Twitter API提取的数据与图表集成。js。 这是我的网页截图。这张表格是摘录的推特及其相应的情感。然而

  • 我有一个UserControl,其中有两个文本框。用户可以根据需要添加这些UserControls的多个副本。每个UserControl都添加到面板的底部。如何从这些用户控件中获取信息。 这是添加我当前使用的UserControl的代码: 以从文本框中获取数据,但MailingReference.Controls不存在。 我不确定如何遍历每个MailingReference UserControl

  • 我正在开发一个条形码阅读器应用程序,我想在读取条形码时显示产品图像,所以我用产品条形码编号重命名了照片,并将其放入drawables文件夹。照片名称适用于ex 1234567,请尝试使用条形码编号检索。但我在条形码上出错了。我该怎么做?

  • 我有一个包含100列的数据框: 我有一个列名列表: 结构列表=['column4','column3','column2'] 预期架构: 目前,我正在对以下值进行硬编码: 是否有一种方法可以动态传递列表中的值?

  • 问题内容: 我正在开发Web应用程序。我们在项目中将Hibernate用作ORM。实际上,我们的应用程序根据用户选择动态创建一些表。用户可以选择表名,列名,然后可以从csv文件导入数据。所以我的问题是:如何用Hibernate和Java对象映射此动态创建的表? 问题答案: 它可以动态完成,但有些混乱: 在建立SessionFactory之前,您需要动态更改Hibernate的Configurati