如何将笔划添加到Chart.js饼图中
How can I add stroke to Chart.js Pie Charts?
我希望饼图中的每个部分都有自己的笔划颜色。现在,它似乎只做一个全局笔划——我能在每个饼段上得到一个笔划吗?我尝试了以下几种,但没有成功:
Chart.defaults.global.segmentShowStroke = true;
var ctx = document.getElementById("myChart").getContext("2d");
var data = [{
value: 300,
color: "#F7464A",
highlight: "#FF5A5E",
stroke: "#FF0000", // Doesn't work
label: "Red"
}, {
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
strokeColor: "#00FF00", // Doesn't work
label: "Green"
}, {
value: 100,
color: "#FDB45C",
highlight: "#FFC870",
segmentStrokeColor: "#88FF00", // Doesn't work
label: "Yellow"
}];
/**
* Whether or not segmentStrokeColor is enabled,
* the previous stroke options do not work.
*/
var options = {
segmentStrokeColor: "black" // Works. Defaults to "white" if removed
};
var myPieChart = new Chart(ctx).Pie(data, options);
canvas {
border: 1px solid black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.1/Chart.min.js"></script>
<canvas id="myChart" width="150" height="150"></canvas>
请注意,即使从options
变量中删除了segmentStrokeColor
,之前为每个饼图段的笔划着色的尝试也不会起作用。
与饼图和条形图不同,饼图不支持每个分段的strokeColor,它只使用全局的。
实现所需效果的唯一方法是扩展饼图,复制addData方法,并使用segment.strokeColor而不是this.options.segmentStrokeColor:
Chart.types.Pie.extend({
name: 'SegmentStrokeColorPie',
addData : function(segment, atIndex, silent){
...
[Copy all the addData method here, only change the line below]
...
strokeColor : segment.strokeColor,
...
...
}
});
var data = [
{
value: 300,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Red",
strokeColor: "#FF0000"
},
{
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green",
strokeColor: "#00FF00"
}
];
new Chart(ctx).SegmentStrokeColorPie(data);
相关文章:
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 更改使用Chart.js创建的图表中的轴线颜色
- 用chart.js绘制条形图
- chart.js 2.0为数据集添加了新属性
- Chart.js V2折线图缺点
- Chart.js极地图的比例不对
- 将gif图像添加到chart.js V2.0中
- Chart.js条形图:网格颜色和隐藏标签
- 与React Native的Chart.js等效
- Chart.js 2.1.2条形图动画问题
- Chart.js-添加渐变而不是纯色-实现解决方案
- 如何在标签上输出Chart.js雷达图的正确值
- 如何在Chart.JS 2.0上使用tooltipTemplate
- 将时间缩放添加到折线图(Chart.js)
- 是否可以使用Chart.js缩短雷达图上的外部标签,而不影响其他标签
- Chart.js折线图的0线型
- AngularJS选项卡集中的Chart.js不呈现
- Chart.js:将对象而不是int值作为数据传递
- 如何在chart.js中显示圆环图上的标签
- chart.js在我的本地主机上运行良好,但无法在线运行