2012-06-22 2 views
1

Извините за этот вопрос. Я новичок в jqplot и хотел бы использовать его для создания столбчатой ​​диаграммы на основе данных, вычисленных из функции.jqplot генерировать график, используя возвращаемые функции функции

Теперь у меня есть параметр, который хранит данные. Кроме того, у меня есть простые коды для создания графика штрихов. Итак, может ли кто-нибудь дать мне подсказку о том, как связать эти две части вместе?

Спасибо!

Вот код:

x_data=function(a,b,c,d) 
#this is the data generated from a function and it needs to be 
#sent to jqplot function, i.e., x_data=[165.33, 102.9, 89.04, 181.54, 114.92]. 
#In order to pass the parameter to jqplot, do I need to print it out in the HTML? 


<script type='text/javascript'> 
$(document).ready(function(x_data){ 
     $.jqplot.config.enablePlugins = true; 
     var s1=x_data; //I need to find a way to link s1 to x_data 

     $.jqplot('chart1', [s1], { 
      seriesDefaults:{ 
       renderer:$.jqplot.BarRenderer, 
       pointLabels: { show: true }, 
       rendererOptions: { 
       barWidth: 3 
       } 
      } 
     }) 
    }) 
</script> 

ответ

1

Вы должны убедиться, что все, что вы вводите в качестве 2-го параметра метода $.jqplot(), в вашем случае это x_pre_irr, находится в форме, например,

[[[1,2],[2,3],[3,6],[4,5]],[[1,2],[2,3],[3,6],[4,5]]].

EDIT У вас есть несколько важных ошибок там:

  1. с баром графике CategoryAxisRenderer должны быть использованы:

    axes:{ 
         xaxis: { 
          renderer: $.jqplot.CategoryAxisRenderer 
         } 
        } 
    
  2. Чтобы получить материал внутри HTML тег с использованием jQuery вы используете text() (или html()) метод, а не val(), поскольку он возвращает все теги в своем value параметре.

  3. Тогда все, что вы получите, будет String, поэтому вы должны преобразовать его в массив значений, например. используя $.parseJSON($('#x_pre_irr_val').text());.

This is presented in this sample.

+0

Спасибо за ответ. Я обновил код. Тем не менее, я все еще не мог создать график штрихов. Не могли бы вы взглянуть на мой обновленный код? –

+0

Функция 'x_data' должна находиться внутри тега' script'. Удалите параметр x_data функции 'ready'. Тогда все будет хорошо. Если что-то по-прежнему не работает, тогда проверьте firebug, если он замечает, что после этого вы увидите пример рабочего кода на странице http://jsfiddle.net, представляющий вашу проблему. – Boro

+0

Спасибо за предложение. Все мои данные взяты из URL-адреса, но я могу напечатать их в html-таблице. Тогда мой план - использовать jquery для получения содержимого таблицы html. Однако у меня появились некоторые проблемы. Не могли бы вы взглянуть на этот jsfiddle? Http: //jsfiddle.net/JWhmQ/220/ –

Смежные вопросы