Chartjs饼图,径向位移(偏移)

2024-02-10

Chartjs 2 是否支持饼图部分的径向位移(偏移)?


Chart.js 本身无法像这样切出一块。但你总是可以定义您自己的图表类型 http://www.chartjs.org/docs/#advanced-usage-writing-new-chart-types!

在这里我将pie图表成cutOutPie类型。图表类使用以下命令配置“饼图切片”updateElement函数,所以我覆盖它并移动元素的位置。详细信息可以通过以下方式找到阅读源码 https://github.com/chartjs/Chart.js.

Chart.defaults.cutOutPie = Chart.helpers.clone(Chart.defaults.pie);

Chart.controllers.cutOutPie = Chart.controllers.pie.extend({
    updateElement: function(arc, index, reset) {
        Chart.controllers.pie.prototype.updateElement.call(this, arc, index, reset);
        var displacement = this.getDataset().displacements[index]||0;
        var model = arc._model;
        var angle = model.startAngle + model.circumference/2;
        model.x += Math.cos(angle) * displacement;
        model.y += Math.sin(angle) * displacement;
    }
});

new Chart('chart', {
    type: 'cutOutPie',
    data: {
        labels: ['a', 'b', 'c', 'd', 'e', 'f'],
        datasets: [{
            data: [1, 7, 2, 8, 3, 9],
            backgroundColor: ['red', 'orange', 'green', 'gold', 'pink', 'blue'],
            displacements: [0, 0, 40, 0, 0, 16],
        }],
    },
});
<script src="//cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<canvas id="chart" width="400" height="300"></canvas>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chartjs饼图,径向位移(偏移) 的相关文章

  • 未调用 Ajax 回调。如何解决这个问题?

    我再次来这里寻求您的建议 我有一些 AJAX 调用 用于从我的编辑器 PHP 在线编辑器 运行代码 大家可以来看看my site http web guru99 com 我有一些 ajax 调用来发送编辑器的数据并接收输出 问题 for 循
  • 如何使用 jasmine.js 测试控制台输出?

    我正在研究文本 面向 Web 开发人员的专业 JavaScript 作者 Nicholas Zakas我正在使用 Jasmine js 测试这些示例 目前 我可以通过指定返回值来测试函数的输出 但是当我想要返回多条数据时 我会遇到麻烦 教科
  • 今天(儒勒·凡尔纳)的 Google 涂鸦是如何运作的?

    相信很多人都已经看过今天的了 2011 02 08 谷歌的涂鸦 http www google com logos verne html 如果涂鸦发生变化 请链接到 CNN 上的文章 http edition cnn com 2011 TE
  • Next.js - 如何使用 Provider 来包装路由并使用 Context 和 Hooks

    我在 create react app 中编写了类似于以下的代码 我想知道 next js 的等效代码 下面的代码是我尝试拥有一个可用于所有页面的全局上下文 提供者包装链接 我没有收到任何错误 问题出在里面about当我期望上下文状态时 页
  • jQuery 插件与小部件

    几个月前 我开始使用 jQuery 插件进行一些实验 我在互联网上找到了一些教程 然后开始整理一些东西 几天前 我需要构建自己的 插件 并回到我的旧项目 当我试图在互联网上找到更多信息时 我偶然发现了这些称为小部件的新 东西 据我了解 我应
  • Xhr上传event.loaded问题

    opts xhr function var xhr new window XMLHttpRequest Upload progress xhr upload onprogress function e if e lengthComputab
  • jQuery Mobile:$(...).listview 不是函数

    我正在尝试在 UL 中动态插入 LI 元素后刷新 jQuery Mobile 中的列表视图 每当我尝试 myUL listview refresh 在控制台上我收到错误 未捕获的类型错误 listview 不是函数 我该如何解决这个问题 确
  • 如何从客户端设置 HTMLEditorExtender HTML

    我无法让它工作 这是我在另一个线程中找到的代码 但它对我不起作用 我得到 set content 不是函数 find set content whatever 这仍然有效吗 我还尝试设置它扩展的文本框的值 尝试设置两者的 InnerHtml
  • Scalatest PlusPlay Selenium 无法调整窗口大小

    对此已经研究了一段时间 我似乎找不到使用 scalatest plus 调整窗口大小的方法 我发现在线搜索或文档的唯一方法http doc scalatest org 2 1 5 index html org scalatest selen
  • jQuery的$如何既是函数又是对象?

    我的意思是对象 object Object 它是怎么做的 selector and fn init同时 你能给我一个简单的例子吗 这并不是 jQuery 独有的 而是 javascript 的一个方面 所有函数都是对象 例如 var f f
  • 使用 jQuery 触发真实事件

    看来 jQuery 的trigger 仅运行与 jQuery 绑定的事件处理程序 我有一些使用本机浏览器事件绑定的模块 使用来自的代码https stackoverflow com a 2676527 https stackoverflow
  • 如何使用 Angularjs 检查模块中的指令或控制器是否可用

    在 angularjs 中 给定一个模块 如何检查给定一个模块是否存在指令 控制器 我有一个模块 我想知道是否已加载某些特定指令 下面是一些示例代码 var module angular module myModule check if c
  • 如何让 jQuery 选择带有 . (句号)在他们的身份证件中?

    给定以下类和控制器操作方法 public School public Int32 ID get set publig String Name get set public Address Address get set public cla
  • 根据每个选项的值或 ID 过滤选择框

    我想使用jquery来过滤表单中的所有选择框 例如 在第一个选择框中 如果我选择 仅显示1 我想过滤所有选择元素中的所有选择选项 以隐藏值不包含 1 的任何选项 仅应显示带有 1 的产品值 如果选择 Filter 选项 则所有选择框的默认值
  • 用 JavaScript 改变文本颜色?

    我想在单击按钮时更改标题的颜色 这是我的代码 但它不起作用 我不明白为什么不 var about function init about document getElementById about innerHTML about style
  • 如何检查浏览器中消失的元素?

    How can I inspect an element which disappears when my mouse moves away 我不知道它的 ID 类别或其他任何信息 但想检查它 我尝试过的解决方案 在控制台内运行 jQuer
  • ajaxStart 和 ajaxStop 与 fetch API 等效

    我正在尝试将 API 调用从使用 jQuery ajax 迁移到使用 Fetch API 我使用 jQuery ajaxStart 和 ajaxStop 在服务器调用期间显示加载旋转器 我正在运行多个并行服务器请求 我希望旋转器在第一个请求
  • 通过 Javascript 填充 ReactJS HTML 表单

    我正在开发一个应用程序 在打开第 3 方网站后 我可以在浏览器上下文中运行我自己的 Javascript 作为一个基于reactjs构建并具有登录表单的示例网站 您可以参考此链接 我正在尝试在reactjs生成的表单中填写用户名和密码 但是
  • 在 JSON 对象中存储和发送原始文件数据

    我正在寻找一种方法来传输任何文件类型的原始文件数据和任何可能的内容 我的意思是文件和文件内容都是用户生成的 在 Backbone 前端中使用 xhr ajax 调用两种方式针对 Django 后端 编辑 也许问题仍然不清楚 如果您在 IDE
  • localStorage 获取 NULL?

    我不知道为什么 因为我之前已经这样做过并且工作正常 我认为这可能是因为浏览器问题 错误 localStorage setItem foo bar alert localStorage getItem foo 我使用的是 Firefox 3

随机推荐

  • SQL查询获取连接航班的src到dest路径

    我想解决一个问题 我希望找到从 src 到dest 的飞行路径 包括转机航班 如果可能的话 按所需时间对其进行排序 我可以使用像 listagg 这样的东西以某种方式将中间航班聚合为字符串吗 我们可以将转机航班的数量和所用的时间限制在一定范
  • 错误:无法获取元数据;使用WCF测试客户端,C#,并尝试实现webhttpbinding和json

    我得到了传说中的Error Cannot obtain Metadata from 消息 特别是http localhost 1640 Service1 svc我已经搜索过 stackoverflow 和 Google 但到目前为止 没有任
  • 尝试连接数据库时出现奇怪的错误

    在过去一天左右的时间里 我无法通过 PHP 连接到数据库 这是我连接到数据库的代码的样子 con mysqli connect localhost root password database 这是一个奇怪的错误 PHP 警告 mysqli
  • 没有元素的 xs:mixed 是什么意思?

    我从一位客户那里得到了以下 XSD 位 它是跨越数十个文件的遗留架构的一部分
  • x86-64 指令集、AT&T 语法、lea 和括号的混淆

    有人告诉我 lea rax rdx 是无效语法 因为源代码需要放在括号中 即 lea rax rdx 我想我显然误解了 lea 和括号的目的 我以为 lea rax rdx 会将 rax 中存储的内存地址移动到 rdx 但显然这就是 lea
  • 数据框中未定义所选列时出错

    我一直在做一项作业 我必须从 specdata 目录中读取一些 csv 文件 这些文件非常相似 有 332 个标题为 001 csv 332 csv 如果重要的话 它们具有一致的列和标题 我相信我已经很接近了 但我被上面的错误消息绊倒了 错
  • 连接稀疏矩阵特征值

    我在特征中有两个稀疏矩阵 我想将它们垂直连接成一个 例如 代码的目标是 SparseMatrix
  • events.js:183 抛出错误; // 未处理的“错误”事件

    我通过命令创建了一个新的 React 项目npx create react app agent mo项目 它已被创建 但在启动时npm start我收到以下错误 运行以下命令以避免 ENOSPC echo fs inotify max us
  • 减慢 for 循环以使 Canvas 动画化

    我正在尝试使用画布制作一些东西 我可以在其中传递一个数字 该数字等于0 360的某个度数 并且一条线将从其当前位置到我设置的度数进行动画处理 现在我已经将线路转到了我想要的任何程度 我还没有完成我传递程度的功能部分 现在只是在 for 循环
  • 我们如何在 Python 中获得可选的类属性?

    对于字典我们可以使用 get方法 类的属性并提供默认值怎么样 您可以使用hasattr http docs python org 2 library functions html hasattr and getattr http docs
  • 在 C# 中使用 XmlSerializer.Deserialize() 反序列化父级命名空间之外的子节点

    我有一个应用程序 它使用命名空间来帮助反序列化存储在 XML 中的对象 XML 命名空间也是对象所在的 C 命名空间 例如 给定以下 XML 片段
  • Android 布局文件夹组织

    我正在开发一个 Android 应用程序 目前我有大约 8 个布局 xml 文件layout文件夹 随着每个附加布局资源文件的增加 组织此文件夹的需求也在增加 但是 当我在布局文件夹内创建一个文件夹并通过重构操作将资源移动到该文件夹 时 它
  • sqlalchemy 动态惰性关系的条件多重过滤器

    我正在将 sqlalchemy 与以下模型一起使用 class Page db Model id posts db relationship Post lazy dynamic class Post db Model id page id
  • 为什么在 scala 中创建 List 时需要 Nil ? [复制]

    这个问题在这里已经有答案了 我在清单上有一个基本问题 当我尝试使用 cons 运算符创建列表时 出现以下错误 scala gt val someList 1 2
  • 如何在 Windows 上发送自定义 tcp 数据包?

    我想发送一个数据包 我定义了IP地址 端口 数据等 起初我想也许我可以在Windows上使用原始套接字 但在谷歌搜索一段时间后 我发现MS似乎禁用了原始套接字从XP SP2 是真的吗 现在我不知道该怎么办 有人告诉我用winPcap 然后我
  • IntelliJ Idea 调试/运行控制台; System.out.flush 不刷新

    这几天一直困扰着我 因为它曾经有效 我升级了我的intellij 现在它不起作用了 我不想回去 但我需要一个答案 因此 我正在编写一个控制台应用程序 当它运行时 我希望有一个 shell 来显示进度 它在运行时工作正常 但是当我在 Inte
  • 如何检查 Android 手机是否正在充电

    我正在写一个安卓应用程序 我想知道如何在应用程序启动时检查手机是否正在充电 我读过这个如何知道手机是否正在充电 https stackoverflow com questions 6243452 how to know if the pho
  • IntelliJ:禁用单个模块的警告/错误

    我最近迁移到 IntelliJ 需要解决一个特定问题 我有一个包含许多模块的项目 其中一个模块纯粹用于测试 并且包含许多错误 我想在此屏幕截图中抑制 NNGINETest 上的所有警告 错误 检查 有没有办法配置项目来做到这一点 我找到了这
  • 显示 10 秒后重复淡入淡出两张图像

    我正在尝试使用 HTML 和 CSS 在每张图像显示 10 秒后对其进行交叉淡入淡出 我希望这个不断重复 这是我的 HTML div img class bottom src 1 png img class top src 2 png di
  • Chartjs饼图,径向位移(偏移)

    Chartjs 2 是否支持饼图部分的径向位移 偏移 Chart js 本身无法像这样切出一块 但你总是可以定义您自己的图表类型 http www chartjs org docs advanced usage writing new ch