2

我试图从 c# 中打开 gnuplot 并让它保存图表的 png。我有两个问题

1) gnuplot 的黑色命令行框和实际绘图都会出现。我希望这两个都不要出现。

2) 将终端设置为 png 并绘制 sin(x) 后,它实际上并没有保存文件。不过,这些相同的命令在 gnuplot 中也可以使用。

任何提示将不胜感激

谢谢

    private void button1_Click(object sender, EventArgs e)
    {
        string Pgm = @"C:\Program Files\gnuplot\bin\gnuplot.exe";
        Process extPro = new Process();
        extPro.StartInfo.FileName = Pgm;
        extPro.StartInfo.UseShellExecute = false;
        extPro.StartInfo.RedirectStandardInput = true;
        extPro.Start();

        StreamWriter gnupStWr = extPro.StandardInput;

        gnupStWr.WriteLine("Set terminal png");
        gnupStWr.WriteLine(@"set output 'c:\Users\FrazMan\Desktop\sinxplot2.png'");
        gnupStWr.WriteLine("plot sin(x)");
        gnupStWr.WriteLine("set terminal wxt enhanced");
        gnupStWr.WriteLine("set output");
        gnupStWr.Flush();
    }

这就是图像形式发生的事情

4

1 回答 1

1

在我看来,您的 GNUPLOT 脚本可能有问题

尝试更简单的

我认为以下脚本应该可以工作

gnupStWr.WriteLine("set terminal png");
gnupStWr.WriteLine(@"set output 'c:\Users\FrazMan\Desktop\sinxplot2.png'");
gnupStWr.WriteLine("plot sin(x)");

尽量避免使用大写字母"set terminal png"

我希望它会帮助你

于 2012-05-15T18:53:45.600 回答