amcharts 图例标签丢失

amcharts legend label is missing

使用时间序列数据时,DOM 中没有图例标签。 我有大约 1500 个数据点。这里将它减少到 3,因为数据点的数量似乎不是问题的原因。

这是错误还是我配置有误?

我也尝试使用单独的 div 作为图例(如描述的 here 但它似乎没有效果。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AmCharts</title>
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"
        integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
    <script src="http://cdn.date-fns.org/v2.0.0-alpha0/date_fns.min.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/core.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/charts.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/themes/animated.js"></script>
    <style>
        html, body {
            font-size: 16px;
        }

        #chartdiv,
        #legenddiv {
            width: 100%;
            height: 500px;
            border: 1px dotted #c99;
            margin: 1em 0;
        }

        #legenddiv {
            height: 150px;
        }
    </style>
</head>

<body>
    <div id="chartdiv"></div>

    Legend:
    <div id="legenddiv"></div>
    <script src="./main.js"></script>
</body>

</html>
am4core.ready(function () {
    am4core.useTheme(am4themes_animated); // theming

    var chart = am4core.create("chartdiv", am4charts.XYChart);
    chart.data = [{
            "date": 1574861644000,
            "value": 13505
        },
        {
            "date": 1574861645000,
            "value": 13505
        },
        {
            "date": 1574861645000,
            "value": 13492
    }];

    // Create axes
    var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
    dateAxis.baseInterval = { timeUnit: "second", count: 1 };
    var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());

    // Create series
    var series = chart.series.push(new am4charts.LineSeries());
    series.dataFields.valueY = "value";
    series.dataFields.dateX = "date";
    series.tooltipText = "{value}";
    series.tooltip.pointerOrientation = "vertical";

    chart.cursor = new am4charts.XYCursor();
    chart.cursor.snapToSeries = series;
    chart.cursor.xAxis = dateAxis;

    // create a legend for the sensors
    chart.legend = new am4charts.Legend();
    let legendContainer = am4core.create("legenddiv", am4core.Container);
    legendContainer.width = am4core.percent(100);
    legendContainer.height = am4core.percent(100);
    chart.legend.parent = legendContainer;
}); // end am4core.ready()

默认情况下,图例将查看系列的 name 属性 以用作记录的图例标签 here。将此添加到您的系列将解决问题,例如series.name = "Series #1"