chart = {
const svg = d3.create('svg')
.attr('viewBox', [0, 0, 960, 700]);
svg.append('g')
.attr('transform', 'translate(20, 10)')
.append(() => legend({color,
title: 'Starbucks',
ticks: 4,
tickFormat: '.0s'}));
const g = svg.append('g')
.selectAll('.provinces')
.data(provinceFeatures)
.join('path')
.attr('class', 'provinces')
.attr('d', pathGenerator)
.attr('fill', d => {
let cases = d.properties.count;
return cases === 'NA' || cases === undefined ?
'#636363' :
color(+cases);
})
.attr('stroke', 'white')
.attr('stroke-linejoin', 'round')
.attr('stroke-width', '0.7px')
.on('mouseenter', mouseEnter)
.on('mouseleave', mouseLeave)
.append("title")
.text(d => `省份:${d.properties.ProvCH}
星巴克门店数量:${d.properties.count === undefined ? 0 : d.properties.count}`);
function mouseEnter(event, d) {
d3.select(this)
.attr('fill', "#D19F4A");
}
function mouseLeave(event, d) {
d3.select(this)
.attr('fill', d => {
let cases = d.properties.count;
return cases === 'NA' || cases === undefined ?
'#636363' :
color(+cases);
});
}
return svg.node();
}