问题
In my current chart the x-axis values are illegible. how can I improve the presentation or at least that the intervals of the x values have a uniform separation.
var chart = c3.generate({
data: {
xs: {
data1: "data2",
data3: "data4"
},
xSort: false,
columns: [
['data1', -4,3,4,7,8,9,8,7,3],
['data2', -5,2,3,4,5,4,3,2,1],
['data3', Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10],
['data4', Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10]
]
}
});
https://jsfiddle.net/9zmbq0g0/
回答1:
Use axis.x.tick.values:
var chart = c3.generate({
data: {
xs: {
data1: "data2",
data3: "data4"
},
xSort: false,
columns: [
['data1', 2,3,4,7,8,9,8,7,3],
['data2', 1,2,3,4,5,4,3,2,1],
['data3', Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10],
['data4', Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10]
]
},
axis: {
x: {
tick: {
values: d3.range(-5,10)
}
}
}
});
#catImage {
width: 40px;
height: 40px;
position: absolute;
left: 40px;
top: 0px;
}
<link data-require="c3.js@0.4.11" data-semver="0.4.11" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.css" />
<script data-require="c3.js@0.4.11" data-semver="0.4.11" src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.js"></script>
<script data-require="d3@3.5.17" data-semver="3.5.17" src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.js"></script>
<div id="chart"></div>
来源:https://stackoverflow.com/questions/46328589/present-in-a-more-pleasant-way-the-values-of-the-axis