没有人知道是否有办法拆分amCharts v3中amPieChart中的自动合并否定标签。似乎它会自动将所有负值添加到一个名为“其他”的值中。如果只有一个值,那么它将显示它并且是它的值,但是如果有更多的值,那么它将它们加在一起,并用“其他”替换标签。
我通过了amPieChart v3 documentation,但找不到能做到这一点的任何东西:
{
"country": "Belgium",
"litres": -60
}, {
"country": "The Netherlands",
"litres": -50
}
groupPercent
阈值(默认为零)的值分组。如果仅要将分组删除到“其他”类别中,请将此值设置为足够小的负数以将其包含在内。groupPercent
如果需要将这些值显示为切片,则必须提供绝对值作为valueFields,并在显示字段(例如AmCharts.makeChart("...", {
// ...
"groupPercent": -100, //sample value
});
和图例的balloonText
,即,]中引用实数作为单独的属性,>
valueText
演示使用下面的绝对值:
var chartData = [ // ... { "country": "Belgium", "absValue": 60, "litres": -60 }, // ... ]; AmCharts.makeChart("...", { // ... "valueField": "absValue", "balloonText": "[[title]]: [[litres]]", //... "legend": { "valueText": "[[litres]]", // ... } });
var chartData = [{ "country": "Lithuania", "litres": 501.9 }, { "country": "Czech Republic", "litres": 301.9 }, { "country": "Ireland", "litres": 201.1 }, { "country": "Germany", "litres": 165.8 }, { "country": "Australia", "litres": 139.9 }, { "country": "Austria", "litres": 128.3 }, { "country": "UK", "litres": 99 }, { "country": "Belgium", "litres": -60 }, { "country": "The Netherlands", "litres": -50 }]; chartData.forEach(function(dataItem) { dataItem.absValue = Math.abs(dataItem.litres); }); var chart = AmCharts.makeChart("chartdiv", { "type": "pie", "startDuration": 0, "theme": "none", "addClassNames": true, "legend": { "valueText": "[[litres]]", "position": "right", "marginRight": 100, "autoMargins": false }, "innerRadius": "30%", "defs": { "filter": [{ "id": "shadow", "width": "200%", "height": "200%", "feOffset": { "result": "offOut", "in": "SourceAlpha", "dx": 0, "dy": 0 }, "feGaussianBlur": { "result": "blurOut", "in": "offOut", "stdDeviation": 5 }, "feBlend": { "in": "SourceGraphic", "in2": "blurOut", "mode": "normal" } }] }, "dataProvider": chartData, "valueField": "absValue", "balloonText": "[[title]]: [[litres]]", "titleField": "country", "export": { "enabled": true } }); chart.addListener("init", handleInit); chart.addListener("rollOverSlice", function(e) { handleRollOver(e); }); function handleInit() { chart.legend.addListener("rollOverItem", handleRollOver); } function handleRollOver(e) { var wedge = e.dataItem.wedge.node; wedge.parentNode.appendChild(wedge); }
#chartdiv { width: 100%; height: 500px; font-size: 11px; } .amcharts-pie-slice { transform: scale(1); transform-origin: 50% 50%; transition-duration: 0.3s; transition: all .3s ease-out; -webkit-transition: all .3s ease-out; -moz-transition: all .3s ease-out; -o-transition: all .3s ease-out; cursor: pointer; box-shadow: 0 0 30px 0 #000; } .amcharts-pie-slice:hover { transform: scale(1.1); filter: url(#shadow); }