将数组传递给Flot

时间:2014-07-24 00:12:09

标签: flot

在一个正常运行的JS的末尾,我有三个 x - 和 y -coordinates,return [theta_plot, omega_plot, e_plot];数组,我想发送给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");
}

外部function是我最近尝试将这些数组传递给Flot,但没有成功。内部function显然是Flot。将doPlot放在我的JS中会产生所需的结果,尽管JSLint抱怨它们没有被定义,因为它应该如此。但是,出于组织目的,我希望在我的HTML中doPlot。问题:如何让doPlot知道我的阵列?

1 个答案:

答案 0 :(得分:2)

只需替换

function doPlot(position) {

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

并在不使用myPlot()函数的情况下直接调用新函数。