data.csv put to array dataset.X,Y
5,20
480,90
250,50
100,33
330,95
410,12
475,44
25,67
85,21
220,88
600,150 var dataset = []; //Initialize empty array
// Hardcoded option works
// var dataset = [
// [5, 20], [480, 90], [250, 50], [100, 33], [330, 95],
// [410, 12], [475, 44], [25, 67], [85, 21], [220, 88],
// [600, 150]
// ];
// Import from csv fails with either Attempt1 or Attempt2
d3.csv("./data.csv", function(data) {
alert(data); // alert gives: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
//ATTEMPT1
// data.forEach(function(d) {
// d.X = +d.X;
// d.Y = +d.Y;
//};
//ATTEMPT2
//function(data) {
// dataset = data.map(function(d) { return [ +d["X"], +d["Y"] ]; });
//};
dataset = data;
alert(dataset);
console.log(dataset);
});
data.forEach(function(d) {dataset.push([ +d.X, +d.Y ];});
d3.csv("./datatest.csv", function(data) {
data.forEach(function(d) { dataset.push([ +d.x, +d.y ])})
//console.log(dataset)
});
alert(dataset)
var dataset = [];
d3.csv("./datatest.csv", function(data) {
data.forEach(function(d) { dataset.push([ +d.x, +d.y ]) })
console.log(dataset)
});
console.log(dataset)
alert(dataset)
console.log(dataset)x,y
5,20
480,90
250,50<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>D3: Transitioning points to randomized values, plus rescaled axes!</title>
<script type="text/javascript" src="../d3/d3.js"></script>
<style type="text/css">
.axis path,
.axis line {
fill: none;
stroke: black;
shape-rendering: crispEdges;
}
.axis text {
font-family: sans-serif;
font-size: 11px;
}
</style>
</head>
<body>
<p>Click on this text to update the chart with new data values as many times as you like!</p>
<script type="text/javascript">
//Width and height
var w = 600;
var h = 300;
var padding = 50;
//Dynamic, random dataset
// Hardcoded option works
// var dataset = [
// [5, 20], [480, 90], [250, 50], [100, 33], [330, 95],
// [410, 12], [475, 44], [25, 67], [85, 21], [220, 88],
// [600, 150]
// ];
// csv Import option not working as expected for why???
var dataset = [];
d3.csv("./datatest.csv", function(data) {
data.forEach(function(d) { dataset.push([ +d.x, +d.y ]) })
console.log(dataset)
});
console.log(dataset)
alert(dataset)
console.log(dataset)
// ### end of csv import code, expecting the same data to follow from whichever method is used.
//Create scale functions
var xScale = d3.scale.linear()
.domain([0, d3.max(dataset, function(d) { return d[0]; })])
.range([padding, w - padding * 2]);
var yScale = d3.scale.linear()
.domain([0, d3.max(dataset, function(d) { return d[1]; })])
.range([h - padding, padding]);
//Define X axis
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom")
.ticks(5);
//Define Y axis
var yAxis = d3.svg.axis()
.scale(yScale)
.orient("left")
.ticks(5);
//Create SVG element
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
//Create circles
svg.selectAll("circle")
.data(dataset)
.enter()
.append("circle")
.attr("cx", function(d) {
return xScale(d[0]);
})
.attr("cy", function(d) {
return yScale(d[1]);
})
.attr("r", 3);
//Create X axis
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + (h - padding) + ")")
.call(xAxis);
//Create Y axis
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + padding + ",0)")
.call(yAxis);
//On click, update with new data
d3.select("p")
.on("click", function() {
//New values for dataset
var numValues = dataset.length; //Count original length of dataset
var maxRange = Math.random() * 1000; //Max range of new values
dataset = []; //Initialize empty array
for (var i = 0; i < numValues; i++) { //Loop numValues times
var newNumber1 = Math.floor(Math.random() * maxRange); //New random integer
var newNumber2 = Math.floor(Math.random() * maxRange); //New random integer
dataset.push([newNumber1, newNumber2]); //Add new number to array
}
//Update scale domains
xScale.domain([0, d3.max(dataset, function(d) { return d[0]; })]);
yScale.domain([0, d3.max(dataset, function(d) { return d[1]; })]);
//Update all circles
svg.selectAll("circle")
.data(dataset)
.transition()
.duration(1000)
.attr("cx", function(d) {
return xScale(d[0]);
})
.attr("cy", function(d) {
return yScale(d[1]);
});
//Update X axis
svg.select(".x.axis")
.transition()
.duration(1000)
.call(xAxis);
//Update Y axis
svg.select(".y.axis")
.transition()
.duration(1000)
.call(yAxis);
});
</script>
</body>
</html>...
--
You received this message because you are subscribed to the Google Groups "d3-js" group.
To unsubscribe from this group and stop receiving emails from it, send an email to d3-js+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.