在amcharts 4中动态更改图表标题

时间:2019-09-04 01:11:53

标签: amcharts amcharts4

如何使用javascript更改已加载图表的标题?以下不适用于外部数据

https://codepen.io/abdfahim/pen/zYOPvPx

var chart = am4core.createFromConfig({
    "titles": [
        {
            "text": "ABCD",
            "fontSize": 25,
            "marginBottom": 10
        }
    ],
    "dataSource": {
        "url": "https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-160/sample_data_serial.json"
    },
    "xAxes": [
        {
            "type": "CategoryAxis",
            "dataFields": {
                "category": "year"
            }
        }
    ],
    "yAxes": [
        {
            "type": "ValueAxis"
        }
    ],
    "series": [
        {
            "type": "ColumnSeries",
            "name": "Cars",
            "dataFields": {
                "categoryX": "year",
                "valueY": "cars"
            }
        }
    ]
}, "chartdiv", am4charts.XYChart);

function changeTitle()
{
  chart.titles[0].text = "New Title";
}

2 个答案:

答案 0 :(得分:1)

AmCharts v4的大部分类似数组的对象都使用lists,因此使用下标将不起作用。建议使用列表提供的访问器方法来获取要更改的对象,例如getIndex

chart.titles.getIndex(0).title = "New title"

Updated codepen

答案 1 :(得分:0)

以防万一有人碰到我的同样问题,我发现此解决方案对我有用

chart.titles.getIndex(0).text = "new title";

如果您要每x秒刷新一次图表,这将特别方便