Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java脚本自定义高位图表方法_Javascript_Dynamic_Methods_Callback_Highcharts - Fatal编程技术网

Javascript Java脚本自定义高位图表方法

Javascript Java脚本自定义高位图表方法,javascript,dynamic,methods,callback,highcharts,Javascript,Dynamic,Methods,Callback,Highcharts,我在high chart函数中添加了一个方法,但调用它时遇到了问题 我想我可能有错误的语法,或者可能把方法放在了错误的位置(对JS来说相对较新)。该方法位于我的代码底部,我评论道,它被称为addPoint。它只是想在图中添加一个新的点 我尝试在方法中添加警报进行故障排除,但这尚未奏效 这里有一把小提琴: 这是我的密码: NewHighCharts = function() { chart = new Highcharts.

我在high chart函数中添加了一个方法,但调用它时遇到了问题

我想我可能有错误的语法,或者可能把方法放在了错误的位置(对JS来说相对较新)。该方法位于我的代码底部,我评论道,它被称为addPoint。它只是想在图中添加一个新的点

我尝试在方法中添加警报进行故障排除,但这尚未奏效

这里有一把小提琴:

这是我的密码:

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
      由于某种原因,当我将代码复制到项目中时,它不起作用。所有内容都与最后一行中断:newChart.addPoint();如果图表回来了。有什么想法吗?谢谢你用chrome调试它。你包括jQuery了吗?实际上有一些非法字符被复制了,我删除了。但仍然不起作用。我得到以下错误:newChart.addPoint不是函数。它指向最后一行。是的,我包括了jquerynever,但我有一个简单的语法错误。但是顺便问一下,你有没有经历过从JSFIDLE复制奇怪的角色?在代码的末尾?只是想再次感谢你的建议!我不小心取出了这个。当我尝试调试时,从addPoint开始。那个非法角色真是个臭虫!我感谢你的努力!由于某种原因,当我将代码复制到项目中时,它不起作用。所有内容都与最后一行中断:newChart.addPoint();如果图表回来了。有什么想法吗?谢谢你用chrome调试它。你包括jQuery了吗?实际上有一些非法字符被复制了,我删除了。但仍然不起作用。我得到以下错误:newChart.addPoint不是函数。它指向最后一行。是的,我包括了jquerynever,但我有一个简单的语法错误。但是顺便问一下,你有没有经历过从JSFIDLE复制奇怪的角色?在代码的末尾?只是想再次感谢你的建议!我不小心把你带走了