Я бы хотел иметь возможность нажимать на панели и напрямую открывать новую страницу, связанную с этой панелью.
Я исследовал и смог сделать клик по оси x, но вместо этого мне нужны клики и полосы.
var chart = c3.generate({
bindto: '#chart',
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
],
type: 'bar'
},
axis: {
rotated: true
}
});
var arrayOfLinks = [
"http://google.com",
"http://google.com",
"http://google.com",
"http://google.com",
"http://google.com",
"http://google.com",
];
d3.selectAll('.c3-axis-x .tick tspan')
.each(function(d, i) {
// augment tick contents with link
var self = d3.select(this);
var text = self.text();
self.html("<A xlink:href='" + arrayOfLinks[i] + "'>" + text + "</A>");
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.11/c3.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.11/c3.min.js"></script>
<div id="chart"></div>
Я почти уверен, что исправление заключается в следующей строке кода:
d3.selectAll('.c3-axis-x .tick tspan')
Каким должен быть аргумент? 'data.coloums[1]','bar'
?
Пожалуйста, пролите немного света.