2014-07-24 7 views
0

A la fin d'un JS fonctionnement I ont trois tableaux de x - et y -coordinates, return [theta_plot, omega_plot, e_plot];, que je voudrais envoyer à Flot pour le traçage:tableaux Passing à Flot

function myPlot(theta_plot, omega_plot, e_plot) { 
    "use strict"; 
    function doPlot(position) { 
    $.plot("#placeholder", [ 
     { 
     data: theta_plot, 
     label: "Angle (rad)", 
     yaxis: 1, 
     color: "red" 
     }, 
     { 
     data: omega_plot, 
     label: "Angular Velocity (rad/sec)", 
     yaxis: 2, 
     color: "green" 
     }, 
     { 
     data: e_plot, 
     label: "Energy (J)", 
     yaxis: 3, 
     color: "blue" 
     } 
    ], 
     { 
     yaxes: [ 
      { 
      font: { color: "red" } 
      }, 
      { 
      font: { color: "green" } 
      }, 
      { 
      font: { color: "blue" } 
      }, 
      { alignTicksWithAxis: position === "left" ? 1 : null } 
     ], 
     legend: { position: "nw" } 
     } 
    ); 
    } 
    doPlot("left"); 
} 

Le function externe est ma dernière tentative de passer ces tableaux à Flot, sans succès. L'intérieur function est évidemment Flot. Placer doPlot dans mon JS produit le résultat souhaité, bien que JSLint se plaint qu'ils ne sont pas définis, comme il se doit. Toutefois, à des fins d'organisation, je voudrais doPlot dans mon code HTML. Question: Comment est-ce que je fais connaître doPlot de mes tableaux?

Répondre

2

Il suffit de remplacer

function doPlot(position) { 

avec

function doPlot(theta_plot, omega_plot, e_plot, position) { 

et appeler la nouvelle fonction directement sans utiliser la fonction myPlot().