2

c#内からgnuplotを開いて、チャートのpngを保存しようとしています。私が持っている2つの問題があります

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 に答える