chartjs datalabels 更改饼图中显示的文本的字体和颜色
chartjs datalabels change font and color of text displaying inside pie chart
我正在使用 chartjs
我已经从 chartjs 及其插件中获得了我需要的一切。这是我的最终结果
这是我的代码
( function ( $ ) {
"use strict";
/////////////Pie chart START here//////////////////////////////
var ctx = document.getElementById( "pieChart" );
ctx.height = 130;
var myChart = new Chart( ctx, {
type: 'pie',
data: {
datasets: [ {
data: [ 40, 20, 10, 3, 7, 15, 4, 52 ],
backgroundColor: [
"rgba(0,128,128)",
"rgba(255,20,147)",
"rgba(0,0,128)",
"rgba(0,128,0)",
"rgba(128,0,0)",
"rgba(255,0,0)",
"rgba(218,112,214)",
"rgba(70,130,180)"
],
hoverBackgroundColor: [
"rgba(0,128,128)",
"rgba(255,20,147)",
"rgba(0,0,128)",
"rgba(0,128,0)",
"rgba(128,0,0)",
"rgba(255,0,0)",
"rgba(218,112,214)",
"rgba(70,130,180)"
]
} ],
labels: [
"Open",
"On-Hold (Need Spares)",
"In-Process",
"Closed",
"Re-Open",
"On-Hold (Condemnation)",
"On-Hold (For Decision)",
"On-Hold (For Revision)"
]
},
options: {
responsive: true,
legend: {
position: 'left',
labels: {
fontSize:17,
}
}
}
} );
/////////////Pie chart END here//////////////////////////////
} )( jQuery );
现在我需要更改每个饼图切片内显示的字体大小和文本(数据)的颜色。有帮助吗?
P.s:我正在使用 chart.js v2.7.2
我使用 Chart js 和 datalebels,可以这样做:
plugins: {
datalabels: {
color: #ffffff,
formatter: function (value) {
return Math.round(value) + '%';
},
font: {
weight: 'bold',
size: 16,
}
}
}
当然在我的示例中我添加了“%”,这就是我在格式化程序中使用该函数的原因。
请记住,'plugins' 是图表中 'options' 的一部分。
Here 是插件数据标签的页面,您可以做更多的事情
如果你想改变字体系列,你可以这样做:
添加 font-family 例如添加 'Josefin Sans' 字体系列
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Josefin+Sans">
然后在字体 JSON 对象中提及 family: 'Josefin Sans'
。像这样:-
plugins: {
datalabels: {
color: #ffffff,
formatter: function (value) {
return Math.round(value) + '%';
},
font: {
weight: 'bold',
size: 16,
family: 'Josefin Sans',
}
}
}
要更改每个数据集的颜色,您可以使用
{
data: {
datasets: [
{
datalabels: {
labels: {
value: {
color: 'green'
}
}
}
}]
}
觉得有用https://chartjs-plugin-datalabels.netlify.app/guide/labels.html#dataset-overrides
我正在使用 chartjs
我已经从 chartjs 及其插件中获得了我需要的一切。这是我的最终结果
这是我的代码
( function ( $ ) {
"use strict";
/////////////Pie chart START here//////////////////////////////
var ctx = document.getElementById( "pieChart" );
ctx.height = 130;
var myChart = new Chart( ctx, {
type: 'pie',
data: {
datasets: [ {
data: [ 40, 20, 10, 3, 7, 15, 4, 52 ],
backgroundColor: [
"rgba(0,128,128)",
"rgba(255,20,147)",
"rgba(0,0,128)",
"rgba(0,128,0)",
"rgba(128,0,0)",
"rgba(255,0,0)",
"rgba(218,112,214)",
"rgba(70,130,180)"
],
hoverBackgroundColor: [
"rgba(0,128,128)",
"rgba(255,20,147)",
"rgba(0,0,128)",
"rgba(0,128,0)",
"rgba(128,0,0)",
"rgba(255,0,0)",
"rgba(218,112,214)",
"rgba(70,130,180)"
]
} ],
labels: [
"Open",
"On-Hold (Need Spares)",
"In-Process",
"Closed",
"Re-Open",
"On-Hold (Condemnation)",
"On-Hold (For Decision)",
"On-Hold (For Revision)"
]
},
options: {
responsive: true,
legend: {
position: 'left',
labels: {
fontSize:17,
}
}
}
} );
/////////////Pie chart END here//////////////////////////////
} )( jQuery );
现在我需要更改每个饼图切片内显示的字体大小和文本(数据)的颜色。有帮助吗?
P.s:我正在使用 chart.js v2.7.2
我使用 Chart js 和 datalebels,可以这样做:
plugins: {
datalabels: {
color: #ffffff,
formatter: function (value) {
return Math.round(value) + '%';
},
font: {
weight: 'bold',
size: 16,
}
}
}
当然在我的示例中我添加了“%”,这就是我在格式化程序中使用该函数的原因。
请记住,'plugins' 是图表中 'options' 的一部分。
Here 是插件数据标签的页面,您可以做更多的事情
如果你想改变字体系列,你可以这样做:
添加 font-family 例如添加 'Josefin Sans' 字体系列
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Josefin+Sans">
然后在字体 JSON 对象中提及 family: 'Josefin Sans'
。像这样:-
plugins: {
datalabels: {
color: #ffffff,
formatter: function (value) {
return Math.round(value) + '%';
},
font: {
weight: 'bold',
size: 16,
family: 'Josefin Sans',
}
}
}
要更改每个数据集的颜色,您可以使用
{
data: {
datasets: [
{
datalabels: {
labels: {
value: {
color: 'green'
}
}
}
}]
}
觉得有用https://chartjs-plugin-datalabels.netlify.app/guide/labels.html#dataset-overrides