javascript - d3.js - Change value for Tooltip with radio button -
i creating heatmap ukraine economic indicators.
depending on radio-button checked, different colorscale used visualize different values/indicators.
d3.selectall('.radio').on('change', function(){ if (document.getelementbyid('none').checked) { areas.transition().duration(250) .attr('fill','steelblue');} else if (document.getelementbyid('agr').checked) { areas.transition().duration(250) .attr('fill', function(d){return colorscaleagr(d.properties.agricindx)});} .... , on.
right tooltip (div) shows name of region hovered over. i'd display value region, corresponding indicator selected @ moment. tooltip's content (the name) determined within event-handler of path/map element.
var areas = group.append('path') .attr('d',path) .attr('class', function(d) { return "subunit" + d.id; }) .attr('fill','steelblue') .attr('stroke', 'white') .attr('stroke-width', '1px') .attr('opacity','0.8') // hover & tooltip .on("mouseover", function(d) { d3.select(this).transition().duration(200).style("opacity", 1); div.transition().duration(300).style("opacity", 1) div.html(d.properties.name ) .style("left", (d3.mouse(this)[0] + 330) + "px") .style("top", (d3.mouse(this)[1] + 15) + "px"); }) .on("mousemove", function(d) { div.html(d.properties.name) .style("left", (d3.mouse(this)[0] + 350) + "px") .style("top", (d3.mouse(this)[1] + 25) + "px"); }) .on("mouseout", function(d) { d3.select(this).transition().duration(200).style("opacity", 0.8); div.transition().duration(300).style("opacity", 0) });
so question is: how can take account status of radio-button, whithin path-element (area) , since data single entities (regions) stored there. if try manipulate tooltip within radio-buttion selection, data not available me. hope made myself understand :). appreciate help.
i think understand trying here's attempt of do:
- format data object key/value pairs follow: 'none': 10, 'agr': 4, etc...
- store key different radio buttons global variable update on radio change function.
- when creating tooltip on mouseover function, print correct value calling d[key], i.e. d['agr'].
hope helps!
Comments
Post a Comment