Skip to content

Commit

Permalink
Fix axis.x.default
Browse files Browse the repository at this point in the history
  • Loading branch information
masayuki0812 committed Sep 5, 2014
1 parent e30d1df commit 50bd61a
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 13 deletions.
12 changes: 9 additions & 3 deletions c3.js
Original file line number Diff line number Diff line change
Expand Up @@ -253,9 +253,7 @@
.on("dblclick.zoom", null);

// Set default extent if defined
if (config.axis_x_default) {
$$.brush.extent(isFunction(config.axis_x_default) ? config.axis_x_default($$.getXDomain($$.data.targets)) : config.axis_x_default);
}
if (config.axis_x_default) { $$.brush.extent($$.getDefaultExtent()); }

// Add Axis
$$.initAxis();
Expand Down Expand Up @@ -4915,6 +4913,14 @@
$$.context.attr("transform", $$.getTranslate('context'));
subXAxis.attr("transform", $$.getTranslate('subx'));
};
c3_chart_internal_fn.getDefaultExtent = function () {
var $$ = this, config = $$.config,
extent = isFunction(config.axis_x_default) ? config.axis_x_default($$.getXDomain($$.data.targets)) : config.axis_x_default;
if ($$.isTimeSeries()) {
extent = [$$.parseDate(extent[0]), $$.parseDate(extent[1])];
}
return extent;
};

c3_chart_internal_fn.initZoom = function () {
var $$ = this, d3 = $$.d3, config = $$.config;
Expand Down
6 changes: 3 additions & 3 deletions c3.min.js

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions htdocs/samples/subchart.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<body>
<div id="chart1"></div>
<div id="chart2"></div>
<div id="chart3"></div>

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="/js/c3.js"></script>
Expand Down Expand Up @@ -41,6 +42,26 @@
}
});

var chart3 = c3.generate({
bindto: '#chart3',
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
],
labels: true
},
axis: {
x: {
default: [3, 5]
}
},
subchart: {
show: true
},
});


</script>
</body>
</html>
29 changes: 25 additions & 4 deletions htdocs/samples/zoom.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,47 @@
<link rel="stylesheet" type="text/css" href="/css/c3.css">
</head>
<body>
<div id="chart"></div>
<div id="chart1"></div>
<button onclick="load()">Load</button>
<div id="chart2"></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({
bindto: '#chart',
var chart1 = c3.generate({
bindto: '#chart1',
data: {
columns: [
generateData(100)
],
},
axis: {
x: {
default: [30, 60]
}
},
zoom: { enabled: true },
subchart: { show: true }
});

var chart2 = c3.generate({
bindto: '#chart2',
data: {
columns: [
generateData(100)
],
},
axis: {
x: {
default: [30, 60]
}
},
zoom: { enabled: true },
});

function load() {
chart.load({
chart1.load({
columns: [
generateData(Math.random() * 1000)
],
Expand Down
4 changes: 1 addition & 3 deletions src/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,7 @@ c3_chart_internal_fn.initWithData = function (data) {
.on("dblclick.zoom", null);

// Set default extent if defined
if (config.axis_x_default) {
$$.brush.extent(isFunction(config.axis_x_default) ? config.axis_x_default($$.getXDomain($$.data.targets)) : config.axis_x_default);
}
if (config.axis_x_default) { $$.brush.extent($$.getDefaultExtent()); }

// Add Axis
$$.initAxis();
Expand Down
8 changes: 8 additions & 0 deletions src/subchart.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,11 @@ c3_chart_internal_fn.transformContext = function (withTransition, transitions) {
$$.context.attr("transform", $$.getTranslate('context'));
subXAxis.attr("transform", $$.getTranslate('subx'));
};
c3_chart_internal_fn.getDefaultExtent = function () {
var $$ = this, config = $$.config,
extent = isFunction(config.axis_x_default) ? config.axis_x_default($$.getXDomain($$.data.targets)) : config.axis_x_default;
if ($$.isTimeSeries()) {
extent = [$$.parseDate(extent[0]), $$.parseDate(extent[1])];
}
return extent;
};

0 comments on commit 50bd61a

Please sign in to comment.