我试着让
看起来像svg,而不使用svg。bcz在angular中,我没有找到任何甜甜圈图表,看起来像
,我确实找到了一个图表,但那是在jquery中,我不能使用jquery。我如何使这个多级圆环图的分段分隔符的边缘变圆我在angular中使用chart.js 4。
下面是一个例子。
var config: any= {
type: 'doughnut',
data: {
datasets: [{
label: 'Dataset 1',
data: [
{
value: 50,
},
{
value: 50,
}
],
backgroundColor: [
"#ff3333",
"#660000",
],
hoverBackgroundColor: [
"#ff3333",
"#660000",
],
hoverBackground: NONE_TYPE,
borderColor:NONE_TYPE,
hoverBorderColor:NONE_TYPE,
borderWidth: 0,
datalabels : {
display: false
}
}, {
label: 'Dataset 2',
data: [
{
value: 70,
},
{
value: 30,
}
],
backgroundColor: [
"#00ff00",
"#003300",
],
hoverBackgroundColor: [
"#00ff00",
"#003300",
],
borderColor:NONE_TYPE,
hoverBorderColor:NONE_TYPE,
borderWidth: 0,
datalabels : {
display: false
}
}, {
label: 'Dataset 3',
data: [
{
value:40,
},
{
value:60,
}
],
labels: [
'green',
'yellow',
] ,
backgroundColor: [
"#1991EB",
"#001f4d",
],
hoverBackgroundColor: [
"#1991EB",
"#001a4d",
],
borderColor:NONE_TYPE,
hoverBorderColor:NONE_TYPE,
borderWidth: 0,
datalabels : {
display: false
},
}],
},
options: {
responsive: true,
legend: {
display: false
},
}
};
1条答案
按热度按时间o75abkj41#
圆环图或饼图中圆弧的圆端由borderRadius选项覆盖。
如果我们选择圆端的半径为15 px,我们可以写为
显然,要舍入另一端,应该设置
outerStart
和innerStart
值。borderRadius
数组的第二个值(零)对应于数据集的第二个值,它代表条带的背景。这里有一段你的数据
这样做有几个问题:
为了涵盖这些情况,我实现了一个自定义的
DoughnutController
,参见docs,称为DoughnutWithRoundEnds
,id为doughnut_round_ends
,它扩展了标准的doughnut
,具有三个数据集选项:roundStart
和roundEnd
,(每个值的默认值为true
),每个值的布尔值(不需要设置边界半径,它是在绘制时考虑弧的当前大小自动计算的)overallBackgroundColor
-条纹的非活动背景色-这将允许仅使用一个值并设置circumference
这个版本也适用于两个(或更多)值,就像第一种情况一样,如果第二个值是相关的,而不仅仅是背景:jsFiddle。