Skip to content

Commit

Permalink
move back to time scale for x axis, get example working again, kind of
Browse files Browse the repository at this point in the history
  • Loading branch information
boorad committed Jan 10, 2012
1 parent 806b91b commit 4c0b9ec
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 21 deletions.
14 changes: 6 additions & 8 deletions index.haml
Expand Up @@ -24,31 +24,29 @@
var mychart = new d3_tsline("#chart"); var mychart = new d3_tsline("#chart");


// override format_data function, taking json payload and creating // override format_data function, taking json payload and creating
// 2-arrays as data points in a series. Return an array of series // 2-arrays as data points in a series. Return an array of one series
mychart.format_data = function(data) { mychart.format_data = function(data) {
var series = []; var series = [];
data.forEach(function(json) { data[0].forEach(function(json) {
series.push([json.date, json.val]); series.push([json.date, json.val]);
}); });
return [ series ]; return [ series ];
}; };


// override parse_date function to handle our data's date format // override parse_date function to handle our data's date format
mychart.parse_date = function(dt) { mychart.parse_date = d3.time.format("%b %d, %Y").parse;
d3.time.format("%b %d, %Y").parse(dt);
};


// add some metadata about the series // add some metadata about the series
mychart.series = [ mychart.series = [
{ {
"name" : "AAPL", "name" : "AAPL",
"css" : "aapl" "css" : "aapl"
} }
] ];


// fetch data and draw the chart // fetch data and draw the chart
var url = "aapl.csv"; var url = "aapl.csv";
d3.csv(url, function(data) { d3.csv(url, function(data) {
mychart.data = data; mychart.setSeriesData([data]);
mychart.draw_chart(); mychart.render();
}); });
14 changes: 6 additions & 8 deletions index.html
Expand Up @@ -27,33 +27,31 @@
var mychart = new d3_tsline("#chart"); var mychart = new d3_tsline("#chart");


// override format_data function, taking json payload and creating // override format_data function, taking json payload and creating
// 2-arrays as data points in a series. Return an array of series // 2-arrays as data points in a series. Return an array of one series
mychart.format_data = function(data) { mychart.format_data = function(data) {
var series = []; var series = [];
data.forEach(function(json) { data[0].forEach(function(json) {
series.push([json.date, json.val]); series.push([json.date, json.val]);
}); });
return [ series ]; return [ series ];
}; };


// override parse_date function to handle our data's date format // override parse_date function to handle our data's date format
mychart.parse_date = function(dt) { mychart.parse_date = d3.time.format("%b %d, %Y").parse;
d3.time.format("%b %d, %Y").parse(dt);
};


// add some metadata about the series // add some metadata about the series
mychart.series = [ mychart.series = [
{ {
"name" : "AAPL", "name" : "AAPL",
"css" : "aapl" "css" : "aapl"
} }
] ];


// fetch data and draw the chart // fetch data and draw the chart
var url = "aapl.csv"; var url = "aapl.csv";
d3.csv(url, function(data) { d3.csv(url, function(data) {
mychart.data = data; mychart.setSeriesData([data]);
mychart.draw_chart(); mychart.render();
}); });
//]]> //]]>
</script> </script>
Expand Down
10 changes: 5 additions & 5 deletions js/d3.tsline.js
Expand Up @@ -262,8 +262,8 @@ function d3_tsline(id) {


// set up scale and axis functions // set up scale and axis functions
var diff = self.get_diff(w, values); var diff = self.get_diff(w, values);
var x = d3.scale.linear() var x = d3.time.scale()
.range([1, w + diff]) // overlap to make smooth scroll effect .range([1, w + diff])
.domain(self.domain.view.x); .domain(self.domain.view.x);
var y = d3.scale.linear() var y = d3.scale.linear()
.range([h, 0]) .range([h, 0])
Expand Down Expand Up @@ -338,9 +338,9 @@ function d3_tsline(id) {


// set up scale and axis functions // set up scale and axis functions
var diff = w / values[0].length; var diff = w / values[0].length;
var x = d3.scale.linear() var x = d3.time.scale()
.range([1, w + diff]) // overlap to make smooth scroll effect .range([1, w + diff])
.domain(self.domain.summary.x); .domain(self.domain.view.x);
var y = d3.scale.linear() var y = d3.scale.linear()
.range([h, 0]) .range([h, 0])
.domain(self.domain.summary.y).nice(); .domain(self.domain.summary.y).nice();
Expand Down

0 comments on commit 4c0b9ec

Please sign in to comment.