Метод Java High Scart - PullRequest
       10

Метод Java High Scart

0 голосов
/ 01 апреля 2012

Я добавил метод в свою функцию высокой диаграммы, но у меня возникли проблемы с его вызовом.

Я думаю, что у меня неправильный синтаксис или я поместил метод в неправильном месте (относительно новый для JS). Я прокомментировал, что этот метод находится внизу моего кода и называется addPoint.its, который просто должен добавить новую точку на график.

Я попытался устранить неполадку, добавив предупреждение в метод, но это еще не сработало.

вот jfiddle: http://jsfiddle.net/fourgates/WdMrm/

вот мой код:

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();

Заранее спасибо за любую помощь!

1 Ответ

3 голосов
/ 01 апреля 2012

Вот ваша скрипка копия с исправленными этими проблемами.Проблемы где:

  • Порядок загрузки ресурсов, если вы видите слева в параметрах ресурса, вы увидите, что exporting.js загружался до старших диаграмм (просто удалите его и повторно добавьте его в ресурсы, и ошибкаHighCharts не определено, будет решена).
  • Используйте jQuery вместо Mootools на панели слева, где написано, что вы можете выбрать платформу.Если вы хотите использовать его с mootols, вам нужен адаптер.
  • Используйте this. = В конструкторе.Если вы не используете это, функция / obj будет глобальной переменной вместо части пространства имен. Таким образом, заменив диаграмму = и addPoint = для this.char и this.addPoint.
  • В добавленииУкажите, что вы должны сделать это, где вы ссылаетесь на серию.вместо серии вы должны сделать this.chart.series.
...