如何根据标签更改 Chart.js 点的颜色

2023-11-24

我有一个 Chart.js 折线图,其中标签是星期几。我想根据具体日期(周一至周日)更改点背景。我可以根据数据值更改背景颜色,但这不是我需要的。相反,我想给每一天(标签)一个不同的色点。

enter image description here

例如,这就是我如何根据数据值更改点(不是我需要的)

chartData: {
    labels: ['Monday', 'Tuesday', 'Wednesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],

    datasets: [{
        data: [57, 569, 12, 78, 569, 0, 5],
        fill: true,
        pointRadius: 4,
        pointBackgroundColor: function(context) {
            var index = context.dataIndex
            var value = context.dataset.data[index]
            return value > 100 ? 'green' : 'red'
        }
    }]
},

但是当我尝试将其应用于标签时,出现错误:

类型错误:无法读取 pointBackgroundColor 处未定义的属性“0”

chartData: {
    labels: ['Monday', 'Tuesday', 'Wednesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],

    datasets: [{
        data: [57, 569, 12, 78, 569, 0, 5],
        fill: true,
        pointRadius: 4,
        pointBackgroundColor: function(context) {
            var index = context.dataIndex;
            var value = context.labels[index];

            if (value == 'Monday') return 'green'
            if (value == 'Tuesday') return 'red'
            if (value == 'Wednesday') return 'blue'
        }
    }]
},

您可以为 pointBackgroundColor 属性提供一个颜色数组:

var ctx = document.getElementById('lineChart').getContext('2d');

var colors = ["rgba(255,0,0,1)", "rgba(0,255,0,1)", "rgba(0,0,255,1)", "rgba(255,0,0,1)", "rgba(0,255,0,1)"];
var colors1 = Object.assign([], colors);
colors1.sort();
var data = {
  labels: [
    "1 ",
    "2 ",
    "3 ",
    "4 ",
    "5 ",
  ],
  datasets: [{
    label: "line 1",
    strokeColor: "rgba(151,187,205,1)",
    pointRadius: 5,
    pointBackgroundColor: colors,
    fill: false,
    data: [
      0.33771896,
      0.903282737,
      0.663260514,
      0.841077343,
      0.172840693,

    ],
  }, {
    label: "Average",
    strokeColor: "rgba(245, 15, 15, 0.5)",
    pointBackgroundColor: colors1,
    pointRadius: 5,
    fill: false,
    data: [0.70934844,
      0.562981612,
      0.496916323,
      0.410302488,
      0.55354621
    ]
  }]
};

var options = {
  datasetFill: false,
}
var myChart = new Chart(document.getElementById("lineChart"), {
  type: 'line',
  data,
  options
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>
<div>
  <canvas id="lineChart" width="600" height="200"></canvas>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据标签更改 Chart.js 点的颜色 的相关文章

  • 如何将udp发送到udp node.js服务器?

    我对此很陌生 所以我真的不知道我在做什么 但我已经设置了一个 node js udp 服务器 我想从客户端 来自网站 向它发送一个数据包 但我不知道如何在 javascript 中做到这一点 或者是否可能 我不是在研究如何从 Node js
  • HTML/VBA Click 事件未触发

    这是我第一次在 StackOverflow 上发布问题 到目前为止 我已经能够通过 VBA 帮助论坛解决我的大部分问题 我的问题很简单 我有一个自动数据拉取 我需要在其中导出数据 我过去曾在这方面取得过成功 但这次略有不同 我尝试单击以生成
  • 动态速度计 javascript 或 jquery 插件

    我希望有动态ajax插件在页面上显示速度计 一个想法是我设置一个背景并旋转针 有人知道相关插件吗 这里有一些供您参考 http bernii github com gauge js http bernii github com gauge
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 非 DOM 对象上的 jQuery 自定义事件

    我最近阅读了一些代码 其功能如下 bob name Bob Smith rank 7 bob bind nameChanged function bob trigger nameChanged 这似乎有效 但我在 jQuery 文档或源代码
  • 消息“在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调”

    我正在使用 Puppeteer 和 Jest 来运行一些前端测试 我的测试如下 describe Profile Tab Exists and Clickable settings user gt test Assert that you
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 类型“typeof import("/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index")”上不存在属性“auth”。 TS(2339)

    我是 FireBase 的初学者 我正在尝试使用 Angular 通过 FireBase 实现 Google 登录 我在 auth 时收到上述错误 我特此附上login component ts和package json package l
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没

随机推荐

  • “无法重现”——Java 确定性多线程可能吗?

    是否可以以确定性方式运行多线程 Java 应用程序 我的意思是在我的应用程序的两次不同运行中始终具有相同的线程切换 原因是每次运行时都在完全相同的条件下运行模拟 类似的情况是 当使用随机数生成器时给出一些任意种子以获得始终相同的 随机 序列
  • Rshinydashboard动态菜单选择

    我在 R闪亮仪表板中创建了动态 sibebar 菜单 即使我使用selected TRUE 在此动态模式下启动时不会选择与菜单关联的菜单项 如何确保我可以控制在这种动态模式下启动时显示哪个 menuItem 的内容 我一直在搜索类似的帖子
  • 如何强制 WebKit 重绘/重绘以传播样式更改?

    我有一些简单的 JavaScript 来实现样式更改 sel document getElementById my id sel className sel className replace item 1 9 selected item
  • 关于 Apple 的 LazyTableImages 示例的问题 - 行为与应用程序商店不完全相同

    我有一个带有项目列表的 UITableView 每个项目都有自己的图像 我认为 Apple 的 LazyTableImages 示例项目非常适合学习 并用于在检索原始列表数据后实现异步下载图像的同类过程 在大多数情况下 它运行得很好 除了我
  • 在控制器中执行操作的 Rails 3 链接或按钮

    在 RoR 3 中 我只想有一个链接 按钮来激活控制器中的某些操作 方法 具体来说 如果我单击页面上的 update specs 链接 它应该转到我的产品控制器中的 update specs 方法 我在此网站上找到了执行此操作的建议 lin
  • 如何比较一个字符来检查它是否为空?

    我尝试了下面的方法 但是 Eclipse 抛出了一个错误 while s charAt j null 检查字符是否是的正确方法是什么null 检查是否String s is not null在进行任何字符检查之前 返回的字符String c
  • 学说迁移,使用自定义学说类型的问题

    我正在使用 Symfony2 Doctrine2 构建一个应用程序 我的应用程序需要存储地理空间数据 因此我编写了适当的学说扩展 一切都运行得很好 并且该应用程序已经在生产环境中运行了很长时间 现在我必须添加一些新功能 并且需要更新数据库而
  • MVC DateTime 验证 - 英国日期格式

    我有一个简单的视图 其中包含两个日期字段 并添加了 ValidationMessageFor 控件以进行不显眼的 JavaScript 验证 我的问题是 当格式正确时 dd MM yyyy 我总是被告知我的日期无效 我已经添加了
  • IIS7 - 在 ASP 中指定内容长度标头会导致“连接重置”错误

    我正在将一系列网站从现有的 IIS5 服务器迁移到全新的 IIS7 Web 服务器 其中一个页面从数据库中的 blob 中提取数据文件并将其提供给最终用户 Response ContentType rs contentType Respon
  • 可以使用 Fetch API 作为请求拦截器吗?

    我尝试在每次使用 Fetch API 向服务器发出请求后运行一些简单的 JS 函数 我已经搜索过这个问题的答案 但没有找到任何答案 可能是因为 Fetch API 相对较新 我一直在这样做XMLHttpRequest像这样 function
  • 如何将准备好的语句与 PHP 事务结合使用?

    我的目标是同时使用事务和准备好的语句 以实现数据完整性和防止 SQL 注入 我有这个 try cnx new PDO dsn dbuser dbpass cnx gt setAttribute PDO ATTR ERRMODE PDO ER
  • 对象属性赋值与解构?

    我想用ES6 解构分配对象的属性 但无法弄清楚语法 var dst already in existence with its own props methods etc var src a foo b bar c baz dst a sr
  • 图像变换会产生红色图像?

    我正在尝试通过水平翻转图像并调整其大小来转换图像 问题是 当转换完成后 图片的颜色都很奇怪 它已经变成了微红色调 是否有可能以某种方式解决这个问题 我想我在某处读到这可能是 AWT 库中的一些错误 但我不确定 这是代码 import jav
  • 模板内类型名分配的目的是什么

    我遇到过这段代码 我试图包含所有详细信息 以防我遗漏某些内容 template lt typename TYPE TYPE with an arbitrarily long name typename KIND KIND with an a
  • 斯康斯。使用 Glob 进行递归

    我使用 scons 几天了 有点困惑 为什么没有内置工具用于从给定根开始递归构建源 让我解释 我有这样的源码配置 src Core folder1 folder2 subfolder2 1 Std folder1 等等 这棵树可能更深 现在
  • mysql 中的文本索引与整数索引

    无论如何 我一直尝试在表上使用整数主键 但现在我怀疑这是否总是必要的 假设我有一个产品表 每个产品都有一个全球唯一的 SKU 编号 这将是一串 8 16 个字符的字符串 为什么不把这个作为PK呢 通常 我会将此字段设为唯一索引 但随后使用自
  • 在php中调整图像的透明度

    我已经仔细研究了在调整 png 大小时如何正确管理 alpha 我设法让它保持透明度 但仅限于完全透明的像素 这是我的代码 src image imagecreatefrompng file dir this gt file name ds
  • C++20 中的指定初始值设定项

    我有一个关于 c 20 功能之一的问题 指定初始化程序 有关此功能的更多信息here include
  • 请求在 v2.3 API 中获取 Facebook 页面点赞总数

    以前我为此使用 FQL 但从 v2 1 开始已弃用 我将使用图形边缘 likes 转向 v2 3 这是我的网址 https graph facebook com v2 3
  • 如何根据标签更改 Chart.js 点的颜色

    我有一个 Chart js 折线图 其中标签是星期几 我想根据具体日期 周一至周日 更改点背景 我可以根据数据值更改背景颜色 但这不是我需要的 相反 我想给每一天 标签 一个不同的色点 例如 这就是我如何根据数据值更改点 不是我需要的 ch