Javascript c3js-D3js-在简单条形图中自定义标签

Javascript c3js-D3js-在简单条形图中自定义标签,javascript,d3.js,graph,charts,c3,Javascript,D3.js,Graph,Charts,C3,提供某些上下文的最佳方式可能是显示代码: var arrayOfDates=['2015年6月'、'2015年5月'、'2015年3月'、'2015年2月'、'2015年1月'、'2014年12月']; var arrayOfData=[7.25,10.001,10,8.39,10.002,6.76] 变量颜色='#AB2522'; var bronzeColor='#8C7853'; 变量silverColor='#CCCC'; var goldColor='#FFCC00'; var ne

提供某些上下文的最佳方式可能是显示代码:

var arrayOfDates=['2015年6月'、'2015年5月'、'2015年3月'、'2015年2月'、'2015年1月'、'2014年12月'];
var arrayOfData=[7.25,10.001,10,8.39,10.002,6.76]
变量颜色='#AB2522';
var bronzeColor='#8C7853';
变量silverColor='#CCCC';
var goldColor='#FFCC00';
var neutralColor=“#ffffff”;
var图表=c3.0({
bindto:“#divForGraph_1”,
尺寸:{
身高:203,
宽度:380
},
数据:{
栏目:[
['period'].concat(arrayOfData)
]
,
类型:{
句号:“酒吧”
}
,
标签:正确
,
姓名:{
期间:“评分表”
}
,
颜色:功能(颜色,d){
如果(d.值<4){
返回颜色;
}否则如果(d.值<7){
回归古铜色;
}否则,如果(d.值<10){
返回银色;
}否则,如果(d.value>10&&d.value<10.001){
返回中性色;
}否则,如果(d.值>=10.001){
返回中性色;
}
返回金色;
}
,
轴线:{
y:{
标签:{
文字:“分数”,
位置:'中间内侧'
}
},
x:{
键入:“timeseries”,
勾选:{
拟合:对
}
}
}
}
,
轴线:{
x:{
类型:'类别',
类别:arrayOfDates
}
}
});
chart.axis.max({
y:10.002
});
chart.axis.min({
y:0
});
在该条形图中,有一些“特殊”值。我正在寻找一种定制这些值的方法,如下所示:

  • 10.001=“不适用”
  • 10.002=“不适用”
y轴上0到10之间的其余值应保持不变

另一个要求是Y轴应仅显示0到10之间的值

使用jQuery修改DOM可能是一种解决方案,但这是一种黑客行为,我希望使用正确的API获得结果


感谢您的帮助

您可以为数据标签添加
格式
方法,如下所示

...
labels: {
    format: function (v, id, i, j) {
        if (v == 10.001)
            return "N/S";
        else if (v == 10.002)
            return "N/A";
        else
            return v;
    }
}
...



Fiddle-

与此同时,我不得不添加这段代码来使用jQuery修改DOM:{$('divForGraph_1').find('c3 text').each(function(){var theValue=parseFloat(this.innerHTML);switch(theValue){case 10.001:this.innerHTML='N/S';break;case 10.002:this.innerHTML='N/A';break;}})
...
labels: {
    format: function (v, id, i, j) {
        if (v == 10.001)
            return "N/S";
        else if (v == 10.002)
            return "N/A";
        else
            return v;
    }
}
...