Highcharts动态更改标签

Highcharts Dynamically Changing Labels?

本文关键字:标签 动态 Highcharts      更新时间:2023-09-26

此图中有一个标签:http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/combo/标签是"水果总消费量"

创建图表后,如何动态更改该句子?

PS:我尝试设置标签并重新绘制图形,但没有成功:http://jsfiddle.net/UXDqL/

有什么想法吗?

不使用标签,您可以使用呈现器文本(),然后使用变量来保持对象。如果您需要动态更新此文本,只需要使用attr()函数并更新即可。

http://jsfiddle.net/6GKCJ/2/

var title = chart.renderer.text('Total fruits consumption', 100, 90)
        .css({
            fontSize: '12px'
        })
        .add();
        $('#btn').click(function(){
            title.attr({
                text:'newText'
            });
        });

如果您想在绘制绘图后更改它,只需对元素本身进行操作即可。使用jquery选择器就像一样简单

// find me the tspan containing the specified text and change it to...
$("tspan:contains('Total fruit consumption')").text("Something New")

Highchart自Highcharts 3.0起不提供任何动态更新标签头的方法。尽管它确实提供了一种动态更新系列的方法:http://api.highcharts.com/highstock#Series.update()

要更新标签头,我们需要遵循蛮力方法,即在更新图表选项后再次渲染图表。下面的代码应该做到这一点:

var mychart = $('#container').highcharts();
    mychart.options.labels.items[0].html= "Changed label header";
    mychart = new Highcharts.Chart(mychart.options);
    mychart.render();

Js报价:http://jsfiddle.net/msjaiswal/ZD4N5/2/

类似的线程:此处