在 React 中的图表 js-2 的圆环图中添加文本

2024-04-06

i want to add a text message inside my doughnut pie chart. To be more specific i want something like this: enter image description here

我在堆栈溢出中遇到了同样的问题,因为他们在 jquery 中使用图表 js,并且由于我是 javascript 的新手,所以我感到很困惑。这就是我定义饼图的方式:

<Doughnut
            data={sectorsData}
            width={250}
            height={250}
            options={{
              legend: {
                display: false
              },
              maintainAspectRatio: false,
              responsive: true,
              cutoutPercentage: 60
            }}
          />

我的示例使用该属性text在数据上指定内部文本:

const data = {
  labels: [...],
  datasets: [...],
  text: '23%'
};
import React from 'react';
import ReactDOM from 'react-dom';
import {Doughnut} from 'react-chartjs-2';

// some of this code is a variation on https://jsfiddle.net/cmyker/u6rr5moq/
var originalDoughnutDraw = Chart.controllers.doughnut.prototype.draw;
Chart.helpers.extend(Chart.controllers.doughnut.prototype, {
  draw: function() {
    originalDoughnutDraw.apply(this, arguments);
    
    var chart = this.chart.chart;
    var ctx = chart.ctx;
    var width = chart.width;
    var height = chart.height;

    var fontSize = (height / 114).toFixed(2);
    ctx.font = fontSize + "em Verdana";
    ctx.textBaseline = "middle";

    var text = chart.config.data.text,
        textX = Math.round((width - ctx.measureText(text).width) / 2),
        textY = height / 2;

    ctx.fillText(text, textX, textY);
  }
});

const data = {
	labels: [
		'Red',
		'Green',
		'Yellow'
	],
	datasets: [{
		data: [300, 50, 100],
		backgroundColor: [
		'#FF6384',
		'#36A2EB',
		'#FFCE56'
		],
		hoverBackgroundColor: [
		'#FF6384',
		'#36A2EB',
		'#FFCE56'
		]
	}],
  text: '23%'
};

class DonutWithText extends React.Component {

  render() {
    return (
      <div>
        <h2>React Doughnut with Text Example</h2>
        <Doughnut data={data} />
      </div>
    );
  }
};

ReactDOM.render(
  <DonutWithText />,
  document.getElementById('root')
);
<script src="https://gor181.github.io/react-chartjs-2/common.js"></script>
<script src="https://gor181.github.io/react-chartjs-2/bundle.js"></script>

<div id="root">
</div>

由于一些奇怪的控制台错误,在运行 CodeSnippet 时,您必须向下滚动一点才能看到。

不过它在 CodePen 中工作正常,我在那里写的:http://codepen.io/anon/pen/OpdBOq?editors=1010 http://codepen.io/anon/pen/OpdBOq?editors=1010

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

在 React 中的图表 js-2 的圆环图中添加文本 的相关文章

  • Bootstrap 标签栏平滑移动导航按钮

    我有一个用于切换块的普通引导选项卡面板 在导航中切换块时 活动选项卡会突出显示 但现在 当我单击活动选项卡的背景时 它会立即发生变化 是否可以使切换选项卡时背景不会立即改变 而是根据需要哪个选项卡而平滑地左右移动 这可以用以下方法完成吗cs
  • 如何在create-react-app中注入没有REACT_APP前缀的dotenv变量?

    我有一个项目要从旧版 React 应用程序迁移到标准版create react app一个 未弹出 在遗留项目中 它手动加载 env文件与dotenv and dotenv expand并通过webpack注入DefinePlugin cr
  • 如何在 jQuery 中将标题转换为 URL slug?

    我正在 CodeIgniter 中开发一个应用程序 我试图在表单上创建一个字段来动态生成URL slug 我想做的是删除标点符号 将其转换为小写 然后用连字符替换空格 例如 Shane s Rib Shack 将变成 shanes rib
  • “require(...)”是常见的 JavaScript 模式还是库函数?

    我通常发现这是 node js 脚本 模块以及 phantomJS casperJS 等中的第一行 我很好奇 这是否是服务器端 javascript SSJS 的常见模式 类似于 include在 C C 中或import在 Java 中
  • 从对象中取出具有无效(NaN、空白等)值的键的最佳方法?

    我有一个供用户填写的简短搜索表单 将有多个搜索查询进入 MongoDB 该表单创建一个名为的变量searchParams可能看起来像这样 var searchParams city Springfield bedrooms 3 bathro
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • fadeOut() 和slideUp() 同时进行?

    我已经发现jQuery 淡出然后滑动 https stackoverflow com questions 734554 jquery fadeout then slideup这很好 但不是那个 我怎么能够fadeOut and slideU
  • 为什么函数声明在不同浏览器中的处理方式不同?

    虽然我在谷歌中找不到对此的引用 但我熟悉这样一个事实 在 javascript 中 全局函数声明在执行任何代码之前都会被解释 换句话说 这工作得很好 f function f 但是 我注意到 chrome 和 firefox 对全局函数声明
  • 修改 Twitter 帖子上可编辑 Div 的内容

    我正在编写一个 chrome 扩展 它可以帮助用户在 Twitter 上输入内容 当在 twitter 上写推文时 twitter 会打开一个可编辑的 div 容器 当用户输入内容时 twitter 大概正在使用某些网络框架 会生成子 di
  • JSONP 使用 JQuery 从 HTTPS 协议获取 JSON

    我正在尝试获取从 https 安全站点发送的 JSON 客户端希望不要使用任何服务器端语言 全部都是 Javascript 我读到 当使用 Jquery 中的 ajax 函数时 我必须使用 JSONP 才能从安全站点加载 JSON 我的第一
  • Angularjs : $locationProvider.hashPrefix("!") ;

    我想将网址显示为 www test com 因为我正在使用 locationProvider hashPrefix 但它显示网址为 www test com 我想 哈希之前而不是哈希之后 Thanks var app angular mod
  • for循环中需要声明变量吗?

    有什么区别 for var i 0 i lt 5 i for i 0 i lt 5 i 是否有必要包含 var 关键字 我知道 var 关键字会影响变量范围 但我无法理解是否有必要在 for 循环中包含该关键字 在第二个示例中 您的变量是全
  • 使用 ng-if 改变角度方向

    我想通过单击将方向从 rtl 更改为 ltr and in 设置 html
  • 在javascript中创建图像的缩略图方块(不丢失纵横比)

    我正在制作一个客户端拖放文件上传脚本作为书签 在上传之前 我使用 File API 将图像读取为 base64 格式并将其显示为缩略图 This is how my thumbnails look like I want them to l
  • 如何从除自身之外的其他(blazor)库引用js/css文件?

    我如何引用 使用位于引用的 blazor 项目中的 css cs 文件 该文件与 host cshtml 中的当前项目不同 我的意思是
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 使用ExternalInterface和IE从JavaScript获取Flash中的当前URL

    我正在尝试获取 Flash 播放器当前所在的 URL 不是 swf 文件的 URL 而是浏览器指向的 URL 到目前为止我已经使用过 var st String ExternalInterface call window location
  • 将 JSON 属性绑定到表单

    我有一个 JSON 对象和一个
  • 如何为 jQuery 插件设置私有变量?

    我想创建一个简单的插件 它使用元素的文本作为默认值 或者您可以在调用插件时设置此值 但是 如果我不设置该值 并为多个元素调用插件 则默认值会成倍增加 function fn reText function options var setti
  • Chrome 调试器注入 javascript

    我有这样的好奇心 是否可以以某种方式在我的页面中注入 javascript 并执行它并调试它 正如您在控制台中所做的那样 但在控制台中您无法暂停并观察变量 是否可以调试我通过控制台输入的代码 为什么无法调试通过 XHR 接收的代码 Than

随机推荐

  • pip 升级后的 PyOpenSSl 版本 0.13.1

    我在 Mac El Capitan 上 我的系统显示我卡在 PyOpenSSl 版本 0 13 1 上 当我升级到16 2 0时 升级成功 然而 当我检查版本时 它仍然是0 13 1 为什么是这样 MacBook Air include s
  • 具有多个文件的 WCF 多部分/表单数据

    我在任何地方都找不到任何有关如何处理请求中包含多个文件的多部分 表单数据的示例 我正在尝试构建一个 WCF 服务端点 其中在一个文本文件中包含一组参数 然后是两个图像文件 总共在一篇文章中包含三个文件 使用 Fiddler 我可以构建请求
  • Spring 和 Spring MVC 框架有什么区别

    我是春天的新手 谁能告诉我 Spring 和 Spring MVC 框架有什么区别 Spring是一个很大的框架 包含很多组件 这些组件之一是 Spring MVC 它是一个允许您根据模型 视图 控制器设计模式实现 Web 应用程序的组件
  • 如何将两个STL向量的元素相加?

    这个问题很愚蠢 但我需要以一种非常有效的方式来做 它将在我的代码中一遍又一遍地执行 我有一个返回向量的函数 我必须将返回的值逐个元素添加到另一个向量中 非常简单 vector
  • 两个不同流上的operator<<(ostream&, obj) 线程安全吗?

    include
  • 为什么我不能使用 KVC 从 Objective-C 对象到 Swift 属性?

    我的团队决定新文件应该用 swift 编写 并且我在 Objective C 对象中使用 KVC 在 Swift 对象上设置属性时发现了一个奇怪的问题 我的 Objective C 设置如下属性 textObject setValue 0
  • LUIS 给出 403 错误“通话量配额”。使用创作资源 F0 在门户中进行测试时

    当我尝试测试 LUIS 应用程序时 它抛出 403 错误并显示以下消息 LUIS 的未通话量配额 正在编写 F0 定价等级 请在 9 天后重试 要增加通话量 请切换到付费等级 我正在使用 Azure 创作资源密钥层 F0 它有一个limit
  • 在单独的 TypeScript 项目之间共享接口

    tl 博士在底部 我有一个用 TypeScript 编写的网络服务器和一个用 TypeScript 编写的客户端 SPA 我的想法是共享请求和响应数据的接口 以充分利用 类型安全 我的大问题是客户端和服务器是同级文件夹 每个文件夹都有自己的
  • 子查询返回超过 1 个值。当子查询时这是不允许的

    我正在尝试使用 SQL 从 SCCM 返回 Windows 更新合规性数据 我已从内置 SSRS 报告中提取了查询 我没有为每个 colname 计算机组 运行单独的查询 而是尝试通过将 colname 声明为表并插入多个值来合并为一个查询
  • FSGetVolumeInfo 是 NSWorkspace 已弃用的 MountedLocalVolumePaths 方法的推荐替代方法吗?

    我需要获取 Mac OS X 上已安装的本地卷的列表 以前 Cocoa 类NSWorkspace had a mountedLocalVolumePaths method https developer apple com library
  • 下载弹出窗口中的内容

    下面是点击 打开窗口 时弹出窗口的 html 代码 我添加了下载按钮 在其中 一旦用户单击它 就应该下载该表 我在这里缺少一些东西 谁能帮我 我已经快到最后阶段了 唯一悬而未决的是下载内容 table border 1 tr th th t
  • VS Code 无法打开终端

    由于某种原因 vscode 停止打开集成终端 现在每次尝试打开终端时都会出现错误 我已经尝试过重新安装 Git 但到目前为止还没有任何想法 这里我留下了配置和错误的图片 我什至尝试将 bash 终端更改为 powershell 但仍然没有任
  • 数据类型的数据模板 - 如何在特定列表框中覆盖此数据模板?

    我为我的宠物项目中的一些数据类型创建了几个数据模板 这些数据模板非常酷 因为它们像魔法一样工作 无论何时何地出现在 UI 中 都会神奇地改变数据类型实例的外观 现在我希望能够在一个特定的列表框中更改这些数据类型的数据模板 这是否意味着我必须
  • 这个格式字符串有什么问题?

    我有一个像这样的字符串
  • Cygwin 中的 vim 在打开文件时将第一个字符替换为“g”

    我在 Cygwin 终端中使用 vim 一切正常 最近 我在 Cygwin 中添加了一个包 导致 vim 和其他一些组件的更新 现在 当我在 vim 中打开任何文件时 文件中的第一个字符将被替换为字符 g 我尝试删除 vimrc 以及我的主
  • Chrome 扩展程序弹出窗口不再显示

    我正在创建一个新的 Chrome 扩展程序 一切都很好 然而 今天我正在编写一个新函数 然后我看到我的扩展图标变成了灰色 当我单击该图标时 不会显示弹出窗口 有趣的一点是该扩展正在运行 没有错误日志 我把自己写的代码都注释掉了 但是没有效果
  • NHibernate:更改父级 - “删除的对象将通过级联重新保存”

    正如标题所说 基本上我想做的是改变孩子的父母 但是当我尝试这样做时 出现异常 ObjectDeletedException 已删除的对象将由级联重新保存 从关联中删除已删除的对象 我已经在谷歌上搜索了几个小时 但我找到的解决方案都不适合我
  • 在新文本文件中打印替换行

    我正在尝试编辑 matlabfile 并替换某些特定行中的一些编码部分 init 但是 使用下面的格式进行更改根本不会更改行上下文 它将打印相同的旧行 知道我做错了什么吗 replaceAll 不适合将行中的某些单词替换为其他单词 提前致谢
  • 参考 UWP 类库中的 ResourceDictionary

    我们有一个使用模板 10 的 UWP 应用 资源位于同一解决方案的 UWP 类库中 当我们运行应用程序时 我们收到错误 Windows UI Xaml Markup XamlParseException 无法从 ms resource Fi
  • 在 React 中的图表 js-2 的圆环图中添加文本

    i want to add a text message inside my doughnut pie chart To be more specific i want something like this 我在堆栈溢出中遇到了同样的问题