尝试使用c3.js创建以下内容。
我们在整个应用程序中使用相同的图表库,因此希望保持一致。没有找到c3.js的方法来定制甜甜圈或饼图来获得这个。非常感谢任何帮助或指示。
答案 0 :(得分:19)
<强> HTML 强>
<div id="chart"></div>
<强> CSS 强>
#chart {
width: 150px;
height: 150px;
}
/* don't do anything fancy when hovering */
#chart .c3-defocused.c3-target {
opacity: 1 !important;
}
#chart text {
fill: #ccc;
}
#chart .c3-chart-arcs-title {
fill: white;
font-size: 3em;
}
<强> JS 强>
var percentage = 0.79;
var chart = c3.generate({
data: {
columns: [
['show', percentage],
['dontshow', 1 - percentage],
],
type: 'donut',
order: null
},
color: {
pattern: ['#13BDD1', '#FFF']
},
legend: {
show: false
},
donut: {
label: {
show: false
},
title: Math.round(percentage * 100),
width: 15,
expand: false
},
tooltip: {
show: false
}
});
// baseline text properly
d3
.select(".c3-chart-arcs-title")
.attr("dy", "0.3em")
// add percentage symbol
d3.select(".c3-chart-arcs")
.append("text")
.text("%")
.attr("dy", "-0.5em")
.attr("dx", "2em")
// black background for center text
d3.select(".c3-chart")
.insert("circle", ":first-child")
.attr("cx", chart.internal.width / 2)
.attr("cy", chart.internal.height / 2 - chart.internal.margin.top)
.attr("r", chart.internal.innerRadius)
小提琴 - http://jsfiddle.net/xpvhow5p/