Chart.js饼图,只有弧外的边框

时间:2017-11-09 09:24:16

标签: javascript canvas chart.js

我有一个用chart.js制作的饼图,目前我想知道它是否可能只有圆圈/弧形外边框如下:

enter image description here

我尝试了以下配置,但它将边框应用于整个网段。

        options: {
          elements: {
              arc: {
                  borderWidth: 0
              }
          }
        }

还有:

    data: {
        datasets: [{
            data: [male_data , female_data],
            backgroundColor: pieColors1,
            borderWidth: [10, 0, 0, 0, 0]
        }]
    },

但这就是我得到的:

enter image description here

2 个答案:

答案 0 :(得分:0)

我猜你必须创建自己的彩色图像(顶部带有白色条带的纯色)并将其作为画布图像传递。

下面是我根据chart.js文档中提供的示例和网上随机图片制作的修改示例。



<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.0.0/Chart.js"></script>
			<canvas id="myChart" width="400" height="400"></canvas>
      
      
<script>
var img = new Image();
img.src = 'http://www.worktop-express.co.uk/media/gbu0/metro-tiles-white-sparkle-worktops-100717.jpg';
img.onload = function() {
	var ctx = document.getElementById("myChart").getContext('2d');
	var fillPattern = ctx.createPattern(img, 'repeat');
	var myChart = new Chart(ctx, {
    type: 'pie',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 10)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                fillPattern
            ],
            borderColor: [
                'rgba(0,0,0,100)',
                'rgba(0,0,0,100)',
                'rgba(0,0,0,100)',
                'rgba(0,0,0,100)',
                'rgba(0,0,0,100)',
                'rgba(0,0,0,100)'
            ],
            borderWidth: 0
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});
}
</script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

cols = NE_2.columns
cols = cols[:-1] + cols[-1].replace('0','')
NE_2.columns = cols