mirror of https://github.com/masayuki0812/c3.git
Masayuki Tanaka
10 years ago
10 changed files with 182 additions and 28 deletions
File diff suppressed because one or more lines are too long
@ -0,0 +1,38 @@
|
||||
<html> |
||||
<head> |
||||
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||
</head> |
||||
<body> |
||||
<div id="chart"></div> |
||||
|
||||
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||
<script src="/js/c3.js"></script> |
||||
<script> |
||||
var chart = c3.generate({ |
||||
data: { |
||||
columns: [ |
||||
['data1', 30, 200, 100, 400, 150, 250], |
||||
['data2', 50, 20, 10, 40, 15, 25] |
||||
], |
||||
} |
||||
}); |
||||
|
||||
setTimeout(function () { |
||||
chart.tooltip.show({ x: 1 }); |
||||
}, 1000); |
||||
|
||||
setTimeout(function () { |
||||
chart.tooltip.show({ index: 3 }); |
||||
}, 2000); |
||||
|
||||
setTimeout(function () { |
||||
chart.tooltip.show({ data: {x: 2} }); |
||||
}, 3000); |
||||
|
||||
setTimeout(function () { |
||||
chart.tooltip.hide(); |
||||
}, 4000); |
||||
|
||||
</script> |
||||
</body> |
||||
</html> |
@ -0,0 +1,35 @@
|
||||
c3_chart_fn.tooltip = function () {}; |
||||
c3_chart_fn.tooltip.show = function (args) { |
||||
var $$ = this.internal, index, mouse; |
||||
|
||||
// determine mouse position on the chart
|
||||
if (args.mouse) { |
||||
mouse = args.mouse; |
||||
} |
||||
|
||||
// determine focus data
|
||||
if (args.data) { |
||||
if ($$.isMultipleX()) { |
||||
// if multiple xs, target point will be determined by mouse
|
||||
mouse = [$$.x(args.data.x), $$.getYScale(args.data.id)(args.data.value)]; |
||||
index = null; |
||||
} else { |
||||
// TODO: when tooltip_grouped = false
|
||||
index = isValue(args.data.index) ? args.data.index : $$.getIndexByX(args.data.x); |
||||
} |
||||
} |
||||
else if (args.x) { |
||||
index = $$.getIndexByX(args.x); |
||||
} |
||||
else if (args.index) { |
||||
index = args.index; |
||||
} |
||||
|
||||
// emulate mouse events to show
|
||||
$$.dispatchEvent('mouseover', index, mouse); |
||||
$$.dispatchEvent('mousemove', index, mouse); |
||||
}; |
||||
c3_chart_fn.tooltip.hide = function () { |
||||
// TODO: get target data by checking the state of focus
|
||||
this.internal.dispatchEvent('mouseout', 0); |
||||
}; |
Loading…
Reference in new issue