我需要将这个Highcharts.JS图表转换为C3.JS图表
http://i.imgur.com/iwk3pyO.png
这是Highcharts.JS代码:
var chart = new Highcharts.Chart({
xAxis: {
title: {
text: 'Values'
}
},
yAxis: {
title: {
text: ' Frequency',
align: 'high',
offset: 23
}
},
legend: {
enabled: false
},
tooltip: {
enabled: false
},
series: [
{
data: []
}
]
});在转换到C3.JS时,我遇到了一个关于x值的问题。默认情况下,C3.JS的条形图为每个条形图赋值为0,1,2,...N而不是我需要的值,如下所示:
var xData = [0.1384261, 0.2337903, 0.3291545, 0.4245187, 0.5198829, 0.6152470999999999, 0.7106113000000001, 0.8059755, 0.9013397000000001, 0.9967039];我试图以某种方式“欺骗”它将x值显示为标签,但这里的问题是后面的红色区域。我将区域设置为以0到1的值显示,但您会注意到在C3.JS中,区域被放置在第一个和第二个条形图中,而不是最后一个图形之后,因为它的值小于1。
发布于 2018-04-26 21:41:04
可能有点晚了,但以防有人仍然需要它(或者在条形图中使用数字X轴)。这是一个想法:
而不是
regions: [
{start: 0, end: 1, class: 'red-color'}
]你需要根据how many items are less than 1 in your categories?来修改end的值。您的代码可能如下所示:
function fctGetItemLessThan1(xData){
//implement your count logic here + return value
}然后在图表选项中:
...
regions: [
{start: fctGetItemLessThan1() - 1, end: fctGetItemLessThan1(), class: 'red-color'}
]
...对于您的示例fctGetItemLessThan1() - 1 = 9,结果如下所示

https://stackoverflow.com/questions/38950531
复制相似问题