4

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

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

PS:我尝试设置标签并重绘图形但没有用:http: //jsfiddle.net/UXDqL/

有任何想法吗?

4

3 回答 3

9

使用标签,你可以使用渲染器文本(),然后使用变量来保存对象。如果您需要动态更新此文本,只需使用 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'
            });
        });
于 2013-04-24T12:49:09.720 回答
2

如果要在绘制绘图后更改它,只需对元素本身进行操作即可。使用 jquery 选择器很简单:

// find me the tspan containing the specified text and change it to...
$("tspan:contains('Total fruit consumption')").text("Something New")
于 2012-09-05T13:20:01.400 回答
1

从 Highcharts 3.0 开始,Highchart 不提供任何动态更新标签标题的方法。虽然它确实提供了一种动态更新系列的方法: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();

JsFiddle:http: //jsfiddle.net/msjaiswal/ZD4N5/2/

一个类似的线程:这里

于 2013-04-24T10:54:55.733 回答