如何在 Chart.js 中循环工具提示附加数据

2023-12-25

这里我有一个图表,其中包含来自数据库表的 x 轴数据和 y 轴数据。现在我面临的问题是,无论我尝试将第三个数据附加到afterbody工具提示中的回调函数。它将在每个工具提示中显示完整数据。

但我想分别将这些数据附加到每个工具提示中。

like:

在第一个工具提示上保证金 12%

在第二个工具提示上保证金 5%

在第三个工具提示上利润率 25%等等。

这是带有工具提示数据的当前图表的屏幕截图

这是我的代码

    $(document).ready(function(){
    $.ajax({
        url: "<?php base_url();?>/charts/getsome",
        method: "GET",
        success: function(data) {
            console.log(data);
            var data = JSON.parse(data);
            var month = [];
            var customers = [];
            var margin = [];

            for(var i in data) {
                month.push("Customer in " + data[i].apply_month);
                customers.push(data[i].no_customers);
                margin.push(data[i].margin);
            }
            var chartdata = {
                labels: month,              
                datasets : [
                    {
                        label: 'monthly customers for Year 2016',
                        backgroundColor: 'rgba(200, 200, 200, 0.75)',
                        borderColor: 'rgba(200, 200, 200, 0.75)',
                        hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
                        hoverBorderColor: 'rgba(200, 200, 200, 1)',
                        data: customers,
                        fill: false
                    }

                ]

            };

            var frame = $("#mycanvas");

            var barGraph = new Chart(frame, {
                type: 'line',               
                data: chartdata,
                options: {
                          responsive: true,
                          tooltips: {
                             callbacks: {
                                afterBody: function(t, d) {
                                   return 'margin  '+margin;
                                }
                             }
                          }
                       }
            });
        },
        error: function(data) {
            console.log(data);
        }
    });
});

现在我只想为每个工具提示单独显示这些边距百分比数据。请建议我,我哪里出错了?提前致谢 :)


替换您的工具提示's afterBody回调函数...

ꜰʀᴏᴍ ᴛʜɪꜱ

tooltips: {
   callbacks: {
      afterBody: function(t, d) {
         return 'margin  ' + margin;
      }
   }
}

ᴛᴏ ᴛʜɪꜱ

tooltips: {
   callbacks: {
      afterBody: function(t, d) {
         return 'margin ' + margin[t[0].index];
      }
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Chart.js 中循环工具提示附加数据 的相关文章

随机推荐

  • 带标题的 php POST 变量

    这是代码 header Location checkout transactionCompleted php id transactionId 然后我用 GET id 来获取该值 到目前为止 一切都很好 Question 我怎样才能通过发布
  • apachecamel简单表达式不给出字符串值

    我正在使用阿帕奇骆驼 我正在尝试使用简单的表达语言从身体中检索价值 我需要它作为字符串 但简单返回 SimpleBuilder 对象 所以我尝试过这样的事情 simple body address line resultType Strin
  • Next.js:如何从 getStaticProps 中获取静态资源

    我正在使用 Netlify CMS 我想将轮播的所有幻灯片导入到我的组件中 我制作了一个名为 滑块 的集合 并添加了一些幻灯片 这创建了两个 Markdown 文件 每张幻灯片一个 public content slider 我想将它们全部
  • asp:QueryStringParameter 和空查询字符串参数

    I haveasp GridView使用显示客户端请求asp SqlDataSource 我想限制客户端显示的信息 View aspx必须显示一切 View aspx client 1必须仅显示来自客户端 ID 1 的请求 所以我正在使用
  • Angular2如何在使用ng-for时设置元素类名称,仅在第一个元素上

    我已经建立了一个ul并且只想将课程设置为第一个li元素 我想设置class active 只在第一里 我确实将索引放入类属性中 但这不是我想要的 import Component View NgFor Inject forwardRef I
  • knitr 中 R markdown 的全局注释选项

    要更改输出的前导字符 Rmd 中的knitr 块有一个注释选项 例如 r comment 1 100 有没有办法在全局范围内设置它 而不是为每个块单独设置 opts knit set comment 不起作用 我在文档中找不到它 Use o
  • 向 NSTabviewitem 添加关闭按钮

    我有一个带有选项卡视图的应用程序 当用户单击菜单 例如 客户端数据 时 我以编程方式生成一个选项卡 现在我想对选项卡视图进行子类化 为每个 NSTabviewitem 添加一个关闭按钮 如果您没有答案 您可以帮助提供文档或示例代码 我知道这
  • 调用默认 Phonegap 返回按钮处理程序

    我有一个phonegap应用程序 需要我捕获后退按钮 这工作顺利 但是当我在主屏幕上并按下后退按钮时 我想调用原始事件处理程序并让应用程序关闭或通过这样的按下自然地执行平台上的任何操作 我知道我可以告诉应用程序退出 但我知道这对于 iPho
  • 如何设置.data节的对齐方式?

    我在中定义了以下变量 dataNASM 部分 section data var1 DD 12345 int 4 bytes var2 DB A char 1 byte padding1 DB 123 1 byte padding paddi
  • CORS Java服务器端实现

    我需要实施CORS http www w3 org TR cors基于 Jersey 的 REST 服务器的支持 我已经浏览了一些可用的material http software dzhuvinov com cors filter htm
  • 如何声明一个哈希函数以在命名空间内的 unordered_set 中使用?

    我已经成功创建了一个哈希函数 并且 override 用于自定义类 这样我就可以在unordered set 但是 理想情况下 我想在要使用的类附近为我的类定义模板专业化 这可以通过以下方法来完成 效果很好 class MyClass pu
  • 我如何知道 SQL 全文索引填充何时完成?

    我们正在为针对测试 SQL Server 数据库运行的 ASP NET 应用程序编写单元测试 也就是说 ClassInitialize 方法创建一个包含测试数据的新数据库 ClassCleanup 删除该数据库 我们通过从代码运行 bat
  • 当角度材质选择打开时禁用滚动

    默认情况下 角度材质的 select dropwon 将允许页面滚动并相应地重新定位 在材料文档的原始页面上 选择下拉列表显示了不同的行为 它在打开时阻止滚动 https material angular io components sel
  • 如何使用 django 、 Location.objects.all() 获取第一个元素和最后一个元素

    这是我的代码 obj list Location objects all first element obj list 0 last element obj list 1 then return render to response tem
  • 如何使用 Python 在 Seaborn 中保存绘图 [重复]

    这个问题在这里已经有答案了 我有一个 Pandas 数据框并尝试将绘图保存在 png 文件中 然而 似乎有些事情并没有按预期进行 这是我的代码 import pandas import matplotlib pyplot as plt im
  • 我们可以调用 va_start() 两次而不调用 va_end() 吗?

    这是我的最小示例 include
  • Jenkins Pipeline 特定阶段的触发器

    我从一开始就在使用 Jenkins 但我想做点什么 但我找不到如何做 事实上 我想用两种不同的方式触发我的项目 每 4 小时和每次提交 但对于每种情况 我不希望执行所有 Jenkinsfile 只执行某些特定阶段 是否可以使用声明式管道来做
  • 使用 Git 和 Heroku 进行正确的持续集成和持续部署

    我正在使用 heroku 和 git 开发一个 ruby on Rails 网站 我应该使用哪些工具和功能来建立以下简单的开发流程 代码 gt 签入 gt 自动测试 gt 自动部署 我将代码签入我的存储库 首选选项 托管 git 如 git
  • 确定 sprintf 缓冲区大小 - 标准是什么?

    当像这样转换 int 时 char a 256 sprintf a d 132 确定多大的最佳方法是什么a应该 我认为手动设置它是可以的 因为我已经看到它到处使用 但它应该有多大 32 位系统上可能的最大 int 值是多少 是否有一些棘手的
  • 如何在 Chart.js 中循环工具提示附加数据

    这里我有一个图表 其中包含来自数据库表的 x 轴数据和 y 轴数据 现在我面临的问题是 无论我尝试将第三个数据附加到afterbody工具提示中的回调函数 它将在每个工具提示中显示完整数据 但我想分别将这些数据附加到每个工具提示中 like