Skip to content

Instantly share code, notes, and snippets.

@hyonschu
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hyonschu/aaeffc2df96f9947f04d to your computer and use it in GitHub Desktop.
Save hyonschu/aaeffc2df96f9947f04d to your computer and use it in GitHub Desktop.
d3.csv("body.csv", function(data) {
data.forEach(function(d) {
d.Phys = +d.Phys;d.Weight = +d.Weight;d.Poise = +d.Poise;d.Dur = +d.Dur;d.Mag = +d.Mag;d.Fire = +d.Fire;d.Light = +d.Light;d.Dark = +d.Dark;d['Total Defense'] = +d['Total Defense'];
});
durD = [0, 0.73537253793028479, 255, 28.412505932894664]
totalD =[0, -3.8152939360143563, 1559, 21.764254501971635]
physD = [0, -1.2297935879109552, 437, 22.496383451350237]
poiseD = [0, 4.0077181112133058, 47.0, 21.730141021739236]
magD = [0, 9.4949059782753427, 135, 6.0664293336673314]
dataset=data;
var color = d3.scale.category10();
var xsc = d3.scale.linear().range([padding, width-padding]).domain([0, d3.max(data, function(d) { return d.Phys; })])
var ysc = d3.scale.linear().range([padding, height-padding]).domain([0, d3.max(data, function(d) { return d.Weight; })])
charts.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr("cx", function(d) { return xsc(d.Phys) } )
.attr("cy", function(d) { return height-ysc(d.Weight)} )
.attr("r", 5)
.attr("opacity", 0.4)
.style("fill", function(d) { return color(d.Reinforcement)})
d3.select(".phys")
.on("click", function(){
xsc = d3.scale.linear().range([padding, width-padding]).domain([0, d3.max(data, function(d) { return d.Phys; })])
xAxis = d3.svg.axis().scale(xsc)
charts.selectAll("circle")
.transition()
.attr("cx", function(d) {
return xsc(d.Phys)
})
charts.selectAll("g.xaxis")
.transition()
.call(xAxis);
charts.select(".regress")
.transition()
.attr("x1", xsc(physD[0]))
.attr("x2", xsc(physD[2]))
.attr("y2", height-ysc(physD[3]))
.attr("y1", height-ysc(physD[1]))
.style("stroke", "pink")
titleX.text("Physical Defense x Weight")
})
//Total Defense
d3.select(".totaldef")
.on("click", function(){
xsc = d3.scale.linear().range([padding, width-padding]).domain([0, d3.max(data, function(d) { return d['Total Defense']; })])
xAxis = d3.svg.axis().scale(xsc)
charts.selectAll("g.xaxis")
.transition()
.call(xAxis);
charts.selectAll("circle")
.transition()
.attr("cx", function(d) { return xsc(d['Total Defense']) } )
charts.selectAll(".regress")
.transition()
.attr("x1", xsc(totalD[0]))
.attr("x2", xsc(totalD[2]))
.attr("y2", height-ysc(totalD[3]))
.attr("y1", height-ysc(totalD[1]))
.style("stroke", "pink")
titleX.text("Sum: All Defense x Weight")
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment