此图有一个标签:http: //jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/combo/标签是“总水果消费”
创建图表后,如何动态更改该句子?
PS:我尝试设置标签并重绘图形但没有用:http: //jsfiddle.net/UXDqL/
有任何想法吗?
此图有一个标签: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() 函数并更新即可。
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")
从 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/
一个类似的线程:这里