【问题标题】:How to make custom legends on multiple pie charts amcharts 4?如何在多个饼图amcharts 4上制作自定义图例?
【发布时间】:2020-12-19 09:38:59
【问题描述】:

假设我们有一个如下代码所示的饼图:

    am4core.ready(function() {
        // Create chart instance
        chartReg[id] = am4core.create(id, am4charts.PieChart);

        // Add data
        chartReg[id].data = data;
        chartReg[id].innerRadius = 60;

        // Add and configure Series
        var pieSeries = chartReg[id].series.push(new am4charts.PieSeries());
        pieSeries.dataFields.value = "value";
        pieSeries.dataFields.category = "key";


        pieSeries.ticks.template.disabled = true;
        pieSeries.alignLabels = false;

        // Create custom legend
        chartReg[id].events.on("ready", function(event) {
            // populate our custom legend when chart renders
            chartReg[id].customLegend = $('#legend');
            pieSeries.dataItems.each(function(row, i) {
            var color = pieSeries.colors.getIndex(i);
            var percent = Math.round(row.values.value.percent * 100) / 100;
            var value = row.value;
            var title = row.category 
            legend.innerHTML += '<div class="legend-item" id="legend-item-' + i + '" onclick="toggleSlice(' + i + ');" onmouseover="hoverSlice(' + i + ');" onmouseout="blurSlice(' + i + ');"><div class="legend-marker" style="background: ' + color + '"></div><div class="legend-title">' + title + '</div><div class="legend-value">' + value + ' | ' + percent + '%</div></div>';
            });
        });         
    });

自定义图例可以正常工作,如下所示:

但如果我们有多个饼图同时在 DOM 中呈现,则图例不会显示!

❤❤ 感谢您阅读我的问题。 ❤❤

【问题讨论】:

    标签: javascript jquery amcharts4


    【解决方案1】:

    我找到了答案。安装于:

    legend.innerHTML += '<div>...</div>';
    

    我们应该使用:

    $('#legend_'+id).append('<div>...</div>');
    

    将图例动态添加到相关 div ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多