Javascript Java脚本自定义高位图表方法
我在high chart函数中添加了一个方法,但调用它时遇到了问题 我想我可能有错误的语法,或者可能把方法放在了错误的位置(对JS来说相对较新)。该方法位于我的代码底部,我评论道,它被称为addPoint。它只是想在图中添加一个新的点 我尝试在方法中添加警报进行故障排除,但这尚未奏效 这里有一把小提琴: 这是我的密码:Javascript Java脚本自定义高位图表方法,javascript,dynamic,methods,callback,highcharts,Javascript,Dynamic,Methods,Callback,Highcharts,我在high chart函数中添加了一个方法,但调用它时遇到了问题 我想我可能有错误的语法,或者可能把方法放在了错误的位置(对JS来说相对较新)。该方法位于我的代码底部,我评论道,它被称为addPoint。它只是想在图中添加一个新的点 我尝试在方法中添加警报进行故障排除,但这尚未奏效 这里有一把小提琴: 这是我的密码: NewHighCharts = function() { chart = new Highcharts.
NewHighCharts = function()
{
chart = new Highcharts.Chart(
{
chart :
{
renderTo : 'container',
type : 'line',
marginRight : 130,
marginBottom : 25,
events:
{
click: function(e)
{
// find the clicked values and the series
var x = e.xAxis[0].value,
y = e.yAxis[0].value,
series = this.series[0];
// Add it
series.addPoint([x, y]);
}
}
},
title :
{
text : 'Body Weight',
x : -20 //center
},
xAxis :
{
categories : ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis :
{
title :
{
text : 'Weight (lbs)'
},
plotLines : [{
value : 0,
width : 1,
color : '#808080'
}]
},
tooltip :
{
formatter : function()
{
return '<b>' + this.series.name + '</b><br/>' + this.x + ': ' + this.y + 'lbs';
}
},
legend :
{
layout : 'vertical',
align : 'right',
verticalAlign : 'top',
x : -10,
y : 100,
borderWidth : 0
},
series : [{
name : 'George',
data : [185,190,185,180]
}, {
name : 'Bindu',
data : [115,110,112,115]
}]
});//end of chart
//this is the method i added
addPoint = function()
{
alert("You Added a point!")
series = this.series[0];
series.addPoint([4, 190]);
};
};//end of newHighCharts
newChart = new NewHighCharts();
newChart.addPoint();
NewHighCharts=函数()
{
图表=新的高点图表。图表(
{
图表:
{
renderTo:'容器',
键入:“行”,
marginRight:130,
marginBottom:25,
活动:
{
点击:功能(e)
{
//查找单击的值和序列
var x=e.xAxis[0]。值,
y=e.yAxis[0]。值,
系列=此。系列[0];
//加上
系列。添加点([x,y]);
}
}
},
标题:
{
正文:“体重”,
x:-20/中心
},
xAxis:
{
类别:[一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十二月]
},
亚克斯:
{
标题:
{
文字:“重量(磅)”
},
绘图线:[{
值:0,
宽度:1,
颜色:'#808080'
}]
},
工具提示:
{
格式化程序:函数()
{
返回“+this.series.name+”
“+this.x+”:“+this.y+”lbs”;
}
},
图例:
{
布局:“垂直”,
对齐:“右”,
垂直排列:“顶部”,
x:-10,
y:100,
边框宽度:0
},
系列:[{
姓名:'乔治',
数据:[185190185180]
}, {
名称:'Bindu',
数据:[115110112115]
}]
});//图表的结尾
//这就是我添加的方法
addPoint=函数()
{
警报(“您添加了一个点!”)
系列=此。系列[0];
系列。添加点([4190]);
};
};//新高图表结束
newChart=新的NewHighCharts();
newChart.addPoint();
提前感谢您的帮助 这是您的一份副本,已修复了这些问题。其中的问题:
- 资源加载顺序如果您在资源选项左侧看到,您将看到exporting.js是在highcharts之前加载的(简单地将其删除并重新添加到资源中,highcharts的错误未定义将得到解决)
- 使用jQuery而不是左侧面板上的Mootools,面板上显示框架,您可以选择它。如果你想和Mootol一起使用,你需要一个适配器
- 在构造函数上使用此。如果不使用此函数,则函数/obj将是一个全局变量,而不是命名空间的一部分。因此,替换this.char和this.addPoint的chart=和addPoint=
- 在“添加点”中,您还应该在引用该系列的位置执行此操作。您应该执行this.chart.series而不是series李>
- 这是您的一份副本,这些问题已经解决。
- 资源加载顺序如果您在资源选项左侧看到,您将看到exporting.js是在highcharts之前加载的(简单地将其删除并重新添加到资源中,highcharts的错误未定义将得到解决)
- 使用jQuery而不是左侧面板上的Mootools,面板上显示框架,您可以选择它。如果你想和Mootol一起使用,你需要一个适配器
- 在构造函数上使用此。如果不使用此函数,则函数/obj将是一个全局变量,而不是命名空间的一部分。因此,替换this.char和this.addPoint的chart=和addPoint=
- 在“添加点”中,您还应该在引用该系列的位置执行此操作。您应该执行this.chart.series而不是series李>
其中的问题: