mom*_*omo 5 javascript charts highcharts highstock
我了解你可以使用:
$(element).highcharts("StockChart", {}) 获得该元素的图表.
但是,我想能够获得highchart物体的金币,以便我可以在之后操纵它,或者我想做:
new Highcharts.Chart({
chart : {
renderTo : 'container'
type : 'StockChart'
}
...
});
Run Code Online (Sandbox Code Playgroud)
首先:后者不适用于'StockChart'类型.我收到错误代码17,上面写着:
"请求的系列类型不存在"
其次:我更喜欢将renderTo选项设置为元素而不是id.通过使用id它强制我的元素也使用id,但是我可以有一个容器和一个容器subelement,它很难引用它.
现在,如果你在一个html页面上有很多图表,那么id就不太理想了.相反,我想使用实际的dom元素来传递.
通过使用$(element).highcharts("StockChart", {})我能够将几乎所有其他选项设置为全局选项,包括使用rangeSelector和开始工作.
但是,我仍然需要能够访问this,这在事件函数中可用,例如加载,所以我想我可以设置一个全局的,但这可能有点矫枉过正.
我在你的案例中看到三个问题:
1)要在创建图表时获取对象,您有两种方法:
用jQuery:
var chart = $(element).highcharts('StockChart', options).highcharts();
Run Code Online (Sandbox Code Playgroud)没有jQuery:
var chart = new Highcharts.StockChart(options);
Run Code Online (Sandbox Code Playgroud)2)错误#17:
"请求的系列类型不存在"
是由type : '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]
}]
});
Run Code Online (Sandbox Code Playgroud)
4)this- 老实说,我不确定为什么你需要访问this除事件处理程序之外的其他地方.而是使用Highcharts.charts[index]或存储变量,如chart或$(element).highcharts()
| 归档时间: |
|
| 查看次数: |
3374 次 |
| 最近记录: |