dvd3js:adding_events
adding events
→ D3 provide is own methods for handling events
→ on()
var bardata = []; for (var i = 0; i < 100; i++) { bardata.push(Math.random() * 30); } var height = 400; var width = 600; var barWidth = 50; var barOffset = 5; // linear scale var yScale = d3.scale.linear() .domain([0, d3.max(bardata)]) .range([0, height]); // ordinal scale var xScale = d3.scale.ordinal() .domain(d3.range(0, bardata.length)) .rangeBands([0, width]); var colors = d3.scale.linear() //.domain([0, d3.max(bardata)]) //.domain([0, bardata.length]) .domain([0, bardata.length * .33, bardata.length * .66, bardata.length]) //.range(['#FFB832', '#C61C6F']); .range(['#B58929', '#C61C6F', '#268BD2', '#85992C']); d3.select('#chart').append('svg') .attr('width', width) .attr('height', height) .style('background', '#C9D7D6') .selectAll('rect').data(bardata) .enter().append('rect') //.style('fill', colors) .style('fill', function (d, i) { return colors(i); }) .attr('width', xScale.rangeBand()) .attr('height', function (d) { return yScale(d); }) .attr('x', function (d, i) { return xScale(i); }) .attr('y', function (d) { return height - yScale(d); }) .on('mouseover', function (d) { d3.select(this) .style('opacity', .5); }) .on('mouseout', function (d) { d3.select(this) .style('opacity', 1); });
dvd3js/adding_events.txt · Last modified: 2016/04/14 17:34 by leo