作者:竹条蠢爱玉米 | 来源:互联网 | 2023-02-04 08:36
我了解你可以使用:$(element).highcharts(“StockChart”,{})获取该元素的图表.但是,我想要能够获得高图对象的金币,以便我可以在之后操纵它,或者我想
我了解你可以使用:
$(element).highcharts(“StockChart”,{})获取该元素的图表.
但是,我想要能够获得高图对象的金币,以便我可以在之后操纵它,或者我想做:
new Highcharts.Chart({
chart : {
renderTo : 'container'
type : 'StockChart'
}
...
});
首先:后者不适用于’StockChart’类型.我得到error code 17说:
“The requested series type does not exist”
其次:我更喜欢将renderTo选项设置为元素而不是id.通过使用id,它强制我的元素也使用id,但是我可以在其中有一个容器和一个子元素,很难引用它.
现在,如果你在一个html页面上有很多图表,那么id就不太理想了.相反,我想使用实际的dom元素来传递.
通过使用$(element).highcharts(“StockChart”,{}),我能够将几乎所有其他选项设置为全局选项,包括rangeSelector并使其工作.
但是,我仍然需要能够访问它,这在事件函数中可用,例如load,所以我想我可以设置一个全局函数,但这可能有点矫枉过正.
解决方法:
我在你的案例中看到三个问题:
1)要在创建图表时获取对象,您有两种方法:
>使用jQuery:
var chart = $(element).highcharts('StockChart', options).highcharts();
>没有jQuery:
var chart = new Highcharts.StockChart(options);
2)错误#17:
“The requested series type does not exist”
是由类型:’StockChart’引起的. type是为系列类型保留的.正如@Raeen Hashemi所说,要创建Highstock,请使用不同的构造函数:new Highcharts.StockChart(options).
3)是的,您可以将对象传递给renderTo:http://jsfiddle.net/yvxwa6oq/
new Highcharts.StockChart({
chart: {
renderTo: document.getElementsByClassName("container")[0]
},
series: [{
name: 'USD to EUR',
data: [10, 20]
}]
});
4)这 – 老实说,我不确定为什么你需要访问除事件处理程序之外的其他地方.而是使用Highcharts.charts [index]或存储的变量,如图表或$(元素).highcharts()