【发布时间】:2014-05-12 22:10:38
【问题描述】:
我正在使用新的c3js 库。有什么方法可以更改图表中一条数据的标签吗?我有一个条形图,其中每个条形都是一个美元值。我希望每个条形的标签为 100 美元而不是 100 美元。如果我将值设置为 100 美元,则库无法制作图表。有没有办法改变标签——如果不是基础价值?
【问题讨论】:
我正在使用新的c3js 库。有什么方法可以更改图表中一条数据的标签吗?我有一个条形图,其中每个条形都是一个美元值。我希望每个条形的标签为 100 美元而不是 100 美元。如果我将值设置为 100 美元,则库无法制作图表。有没有办法改变标签——如果不是基础价值?
【问题讨论】:
您可以为数据标签和轴刻度指定格式。看看下面的例子。
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="./css/c3.css">
<script src="./js/d3.min.js"></script>
<script src="./js/c3.min.js"></script>
</head>
<body>
<div class='chart'>
<div id='chart'></div>
</div>
<script>
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 130, 100, 140, 200, 150, 50]
],
type: 'bar',
labels: {
format: {
y: d3.format("$,")
//y: function (v, id) { return "Custom Format: " + id; }
}
}
},
axis : {
y : {
tick: {
format: d3.format("$,")
//format: function (d) { return "Custom Format: " + d; }
}
}
}
});
</script>
</body>
</html>
The resulting graph looks like this.
查看formatting options in d3.js 或者您可以编写自己的函数(参见上面注释掉的代码)。
【讨论】:
您还可以将值显示为字符串:http://c3js.org/samples/data_stringx.html
var chart = c3.generate({
data: {
x : 'x',
columns: [
['x', '$100', '$200', '$300', '$400'],
['download', 30, 200, 100, 400],
['loading', 90, 100, 140, 200],
],
groups: [
['download', 'loading']
],
type: 'bar'
},
axis: {
x: {
type: 'categorized' // this is needed to load string x value
}
}
});
【讨论】:
x:'x',我将收到错误 d3.v3.min.js:1 错误:axis 部分在data 内部,但它不应该存在。仔细检查正确的嵌套。这个例子有效。