2

我正在尝试使用 gnuplot gem 绘制一个 XY 坐标边框,但是在运行我的代码时它会自动关闭它。我一直在检查这个例子,我认为我做的一切都很好,任何人都可以帮助我让我的 gnuplot 窗口更加可见吗?我一直在尝试睡眠,但无法弄清楚,为什么它仍然失败。

Gnuplot.open do |gp|
    # Start a new plot
    Gnuplot::Plot.new(gp) do |plot|
      plot.title fn
      # plot.grid

      # Plot each cluster's points
      clusters.each do |cluster|
        # Collect all x and y coords for this cluster
        x = cluster.points.collect {|p| p.x }
        y = cluster.points.collect {|p| p.y }

        # Plot w/o a title (clutters things up)
        plot.data << Gnuplot::DataSet.new([x,y]) do |ds|
          ds.notitle
        end
      end
    end
  end
4

2 回答 2

0

你试过暂停命令吗?在本机 gnuplot pause -1 中等待用户按 Enter。

于 2013-05-20T13:20:52.773 回答
0

由于没有发布答案,我将传递一个我使用的方法:输出为图片格式:

  # Graph output by running gnuplot pipe
  Gnuplot.open do |gp|
    # Start a new plot
    Gnuplot::Plot.new(gp) do |plot|
      plot.title fn
      # plot.grid


     plot.terminal "gif"
     plot.output File.expand_path("../test.gif", __FILE__)

      # Plot each cluster's points
      clusters.each do |cluster|
        # Collect all x and y coords for this cluster
        x = cluster.points.collect {|p| p.x }
        y = cluster.points.collect {|p| p.y }

        # Plot w/o a title (clutters things up)
        plot.data << Gnuplot::DataSet.new( [x,y] ) do |ds|
          ds.notitle
        end
      end
    end
  end
于 2013-05-10T17:39:24.270 回答