Chartjs - pointColor 跟随渐变描边的当前颜色

2023-12-30

我刚刚使用创建折线图chartjs http://www.chartjs.org/图书馆和我设法用渐变颜色进行描边。这里很简单fiddle http://jsfiddle.net/jvmk5o6a/例如我到目前为止所做的事情。

接下来我需要做的是pointColor遵循梯度stroke并获取其位置的当前颜色。就像这个photo https://d13yacurqjgara.cloudfront.net/users/309045/screenshots/1659000/04-sparkline_1x.jpg.

有什么想法如何实现这一目标吗?

Thanks!


Update

来自 @AndyHolmes 的问题是否可以向 Chart.js 折线图添加阴影? https://stackoverflow.com/questions/33104231/is-it-possible-to-add-a-drop-shadow-to-chart-js-line-chart

不需要原始解决方案(扩展)。所需要的只是

  ...
  pointColor: gradientstroke
  ...

原创解决方案

只需延长线并更新点颜色即可。您可以在绘制函数中执行此操作,但在初始化函数中执行此操作会更有效(当启用动画时)

Chart.types.Line.extend({
    name: "LineAlt",
    initialize: function (data) {
        Chart.types.Line.prototype.initialize.apply(this, arguments);

        var ctx = this.chart.ctx;
        // draw a line with the gradient, we use this to get each points color
        ctx.fillStyle = data.datasets[0].strokeColor;
        ctx.fillRect(0, 0, this.chart.width, 1);

        this.datasets.forEach(function (dataset) {
            dataset.points.forEach(function (point) {
                // get the color from the gradient drew above
                var imageData = ctx.getImageData(point.x, 0, 1, 1);
                var color = 'rgba(' + imageData.data[0] + ', ' + imageData.data[1] + ', ' + imageData.data[2] + ', ' + imageData.data[3] + ')';

                // the _saved is used by the tooltip refresh to draw the point when you mouseout
                point.fillColor = color;
                point._saved.fillColor = color;
                point.strokeColor = color;
                point._saved.strokeColor = color;
            })
        })

        // we need to call the render function again to overwrite what was drawn in the initialize render (otherwise we don't see the changed color when animation is false)
        // this also wipes out the reference gradient
        this.render();
    }
});

lineChartData 中的 pointColor 和 pointStrokeColor 实际上不是必需的。请注意,如果您愿意,您还可以以相同的方式覆盖 pointHighlightStroke 和 pointHighlightFill。

你这样称呼它

new Chart(ctx).LineAlt(...

小提琴 -http://jsfiddle.net/w2nh153d/ http://jsfiddle.net/w2nh153d/


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chartjs - pointColor 跟随渐变描边的当前颜色 的相关文章

  • JavaScript 对输入的循环创建一个对象数组

    我正在尝试循环 div 中的输入元素 以创建对象数组 div div
  • 使用通过 (document.getElementById('ID')) 添加到数组的元素

    为什么这段代码不起作用 var all obj element new Array all obj element 0 document getElementById Img3 alert all obj element 0 style w
  • 我们在哪里/什么时候使用 JSON?

    你能告诉我 JSON 有什么用 在 Javascript 和 PHP 中 当我们需要 JSON 方法时 我从以下链接中阅读 但是 我没有获得有关任何项目的 JSON 实现的任何信息 http www json org js html htt
  • JavaScript 原型继承和 html canvas

    我是一名 Ruby 开发人员 最终决定认真学习 JavaScript 所以我买了一些书 开始深入研究 但当我试图理解原型继承时 我很快就陷入了困境 这本书的例子之一如下 给定一个 Shape 其原型有一个绘制方法 以及两个子形状 一个 Tr
  • 在 Node.js 中实现服务器发送事件的简单方法?

    我环顾四周 似乎在 Node js 中实现 SSE 的所有方法都是通过更复杂的代码 但似乎应该有一种更简单的方法来发送和接收 SSE 是否有任何 API 或模块可以让这件事变得更简单 这是一个每秒发送一个服务器发送事件 SSE 的 Expr
  • ELEMENT.style.color 在 IE 中不起作用

    在一个小型 Web 应用程序中 我使用 JavaScript 在文本框中设置一些文本及其颜色 在下面的片段中 el 是我的对象 这段代码在 Firefox Opera 和 Safari 下产生了正确的效果 但在 IE 下却没有这样的运气 我
  • 匹配 JavaScript RegEx 中的不可见字符

    我有一些包含不可见字符的字符串 但它们位于可预测的位置 通常 围绕我想要提取的文本片段 然后在第二次出现之后我想保留文本的其余部分 我似乎不知道如何关闭隐形字符 and将它们从我的结果中排除 为了匹配隐形 我一直在使用这个正则表达式 xA0
  • 如何设置黄瓜环境变量

    我有以下 package json name newcucumber version 1 0 0 main index js scripts test node modules bin cucumber js firefox node mo
  • 传单圆圈绘制/编辑问题

    我第一次制作传单 并面临绘制圆圈和编辑 更改圆圈位置 的问题 我面临的问题是 编辑 移动 圆从一个位置到另一位置会改变其半径 Note 请尝试在给定的小提琴中在地图顶部创建圆圈 然后通过单击编辑按钮将其移动到底部 如果我在地图的顶部创建圆圈
  • 如何在 JavaScript 中检查未定义的变量

    我想检查变量是否已定义 例如 以下内容会引发未定义的错误 alert x 我怎样才能捕获这个错误 在 JavaScript 中 null是一个对象 不存在的事物还有另一种价值 undefined DOM 返回null对于几乎所有无法在文档中
  • 如何将多个文件上传到Firebase?

    有没有办法将多个文件上传到 Firebase 存储 它可以在一次尝试内上传单个文件 如下所示 fileButton addEventListener change function e Get file var file e target
  • 如何使用 Eclipse 作为 Javascript IDE?

    我从官方下载页面下载了 eclipse Javascript IDE 但是 当我启动应用程序时 它显示 必须提供 Java 运行时环境或 Java 开发工具包才能运行 eclipse 我已经有一个运行良好的 eclipse 的 java I
  • 有效地获取下拉列表中的选定选项(XHTML Select 元素)

    背景 使用 XHTML Select 元素的下拉列表中有大量选项 数十个 我需要使用 JavaScript 检索所选选项 Problem 目前我正在使用 jQuery selectedCSS 选择器并且它按预期工作 但这种方法效率不高 因为
  • ExpressJS - 提供通用 Nuxt 应用程序和 AngularJS SPA

    我有一个具有以下结构的博客项目 服务器 用 Node Express 编写 管理员 AngularJS SPA public AngularJS SPA 目前 管理部分和公共部分具有相同的域 但管理部分使用不同的子域 这允许我在 Expre
  • JQuery 验证不起作用

    我有一种表单 其中一个输入类型的值为 名字 但这可以在 onfocus 函数上更改我想验证此输入字段 如果它为空白或 名字 我有两个 jQuery 文件jquery 1 4 2 min js jquery validate pack js
  • 如何在 Web 应用程序中使用 Javascript 安全地访问 Windows Azure 移动服务?

    我需要一本 web javascript 安全入门书 根据如何使用 Windows Azure 移动服务的 HTML JavaScript 客户端 http www windowsazure com en us develop mobile
  • 如何使用 javascript 迭代文件系统目录和文件?

    我正在使用 Javascript 编写一个应用程序 该应用程序将与 Phonegap 一起使用来制作 Android 应用程序 我正在使用 Phonegap File API 来读取目录和文件 相关代码如下所示 document addEv
  • 使用 Lodash 循环 JavaScript 对象中的属性

    是否可以循环访问 JavaScript 对象中的属性 例如 我有一个 JavaScript 对象定义如下 myObject options property1 value 1 property2 value 2 属性将动态添加到该对象 有没
  • 如何在javascript中删除对象的一部分

    这是我的代码 var data btn click function total data push id total cell val1 val2 val3 每次用户点击btn按钮 我向数据对象添加一些值 现在我的问题是如何删除有的部分i
  • 我应该采取什么圆角方法?

    因此 关于圆角的信息并不缺乏 我已经经历过其中的大部分 我发帖是为了征求社区对这一点的意见 我的场景是 我们正在开发一个圆角相关设计 主要用于交互

随机推荐

  • 如何对“新风格”Django 中间件进行单元测试

    我正在学习如何对 Django 中间件进行单元测试 在 旧式 中间件中 使用以下命令加载中间件非常容易process request 测试结果 例如 def test session self request self factory ge
  • 衍生品警告没有意义

    我收到以下形式的警告 DerivativesWarning Constraints or objectives traj linkages stage 1 grav turn alpha final coast 1 alpha initia
  • 错误显示:dyld_sim 与加载的进程不兼容

    我有一个 iPhone 中运行的应用程序的源代码 适用于 iOS 7 及之前的操作系统 但 iOS 8 0 及更高版本不支持该应用程序 当我尝试编译代码时 它可以正常执行所有文件 但会引发体系结构不匹配错误 在控制台中 dyld dyld
  • 如何更改查询以仅保留叶节点

    我有包含以下数据的表 id parent id short name 6 5 cpu 7 5 ram 14 9 tier a 15 9 rfc1918 16 9 tolerant 17 9 nononymous 13 12 cloudsta
  • HTTPServletRequest getParameterMap() 与 getParameterNames

    HTTPServletRequestreq 有一个方法getParameterMap 但是 这些值返回一个String 代替String 对于发布数据为 姓名 玛丽 姓氏 约翰 年龄 20 我在帖子数据中看到它不是一个数组 但是getPar
  • AngularJS 根据用户输入切换样式表

    如何根据用户单击的按钮来切换 切换 AngularJS 页面的样式表 您实际上可以在 html 级别放置一个控制器并修改link标签的href Demo http plnkr co edit jBtP6FfmeRzOYUCnHg3t p p
  • 如何检测通知/系统栏何时打开

    我需要知道系统 通知栏何时在我的应用程序中打开 但我找不到任何真正的解决方案 所以我将一些东西组合在一起 看起来效果很好 在详细介绍实现之前 我将简要解释一下我的 非常老套的 逻辑 当某个 Activity 由于任何原因不再对用户可见时 将
  • xtensor 类型与 NumPy 简单归约的性能对比

    我正在尝试xtensor python https github com QuantStack xtensor python并开始编写一个非常简单的求和函数 之后使用千篇一律的设置 https github com QuantStack x
  • TypeORM - 如何在生产模式下创建新表并自动运行迁移?

    我想在 MySQL 中创建新表 并在应用程序在生产模式下运行时自动运行 TypeORM 迁移 注意 此新表不是在生产模式下启动应用程序之前创建的 根据迁移文档 https github com typeorm typeorm blob ma
  • 在Jupyter中逐步执行算法

    我试图一步步展示 Jupyter 中 Python 程序的执行情况 例如 我可以将程序中变量的值可视化 如以下玩具程序所示 from IPython display import display clear output from time
  • 如何在 pygtk 中使用线程

    我在 pygtk 中遇到线程问题 我的应用程序包含一个从互联网下载图片然后用 pygtk 显示它的程序 问题是 为了做到这一点并保持 GUI 响应能力 我需要使用线程 因此 在用户单击 下载图片 按钮后 我进入回调 并调用该方法来下载同一类
  • 将 CV_32FC1 类型的矩阵转换为 CV_64FC1

    如何将 CV 32FC1 类型的 cv Mat 转换为 CV 64FC1 类型 相当于从 float 变为 double 我正在打开一个保存为 XML 的矩阵 cvSave 但作为浮动 这意味着该领域 dt 有价值f在文件中 我需要将其更改
  • 在函数内修改Python中的全局字典

    usr bin env python def modify dict d two 2 d one 1 modify dict print d I get globaltest py two 2 one 1 我本来希望只看到 one 1 因为
  • Matlab:xcorr一维互相关归一化问题

    我有一个长度 5 的参考信号 s1 和另一个长度 25 个样本的信号 s2 包含相同 5 个样本信号 s1 的移位版本 我想找到两个信号之间的归一化互相关性 以计算信号 s1 和 s2 之间的样本距离 延迟 滞后 我用零填充 s1 因此它与
  • 什么时候是使用反引号的正确时间(和错误时间)?

    许多初学者都会写这样的代码 sub copy file my from shift my to shift cp from to 这很糟糕吗 为什么 应该使用反引号吗 如果是这样 怎么办 有些人已经提到 您应该只在以下情况下使用反引号 您需
  • 如何从 YYYY-MM-dd'T'HH:mm:ss.sssZ 获取时间

    嗨 我想抽出时间11 40 from 2017 07 31T11 40 00 000Z 下面是我正在使用的代码 let formatter Foundation DateFormatter formatter dateFormat YYYY
  • 在 C# 中的方法参数中使用“class”关键字

    我不确定我在哪里看到这个 而且我当然没有让编译器通过语法 是否可以使用 class C 关键字作为方法参数签名的一部分 foo 字符串 x 类 y 还有其他人看到这样的事情吗 谢谢 基因 你应该使用对象吗 看起来您正在尝试指定一个可以具有任
  • 将单个应用程序显示导出到 VNC

    我正在寻找一个脚本 解决方案来将单个 Linux 应用程序显示导出到 VNC 例如 客户端浏览网页 它需要身份验证 基本用户名密码 通过身份验证后 他会看到一个带有不同按钮的页面 每个按钮都与一个应用程序相关 例如 单击 firefox 按
  • 在views.py中使用Django模型表单时出现错误

    在我的 models py 中 class Alert models Model user models CharField max length 30 blank True a models IntegerField blank True
  • Chartjs - pointColor 跟随渐变描边的当前颜色

    我刚刚使用创建折线图chartjs http www chartjs org 图书馆和我设法用渐变颜色进行描边 这里很简单fiddle http jsfiddle net jvmk5o6a 例如我到目前为止所做的事情 接下来我需要做的是po