2
私は、ノードの座標(お互いが十分接近している点)を与えられた幾何学グラフのエッジを見つけるコードをC++で書いています。私は今、グラフをプロットし、リンクの座標をGnuplotに配管したいと考えています。これは、次のようになります。C++のgnuplotで幾何学グラフをプロットする
今リンクは(幅優先探索アルゴリズムを使用して)が発見されるたびに、私はfprintf(pipe, "%g %g\n", RC[j].angle,RC[j].radius);
fprintf(pipe, "%g %g\n", RC[start[ptr]].angle,RC[start[ptr]].radius);
fprintf(pipe, "%g %g\n");
を行うと、検索アルゴリズムが終了したとき、私は
で終わるFILE *pipe = popen("gnuplot -persist", "w");
fprintf(pipe, "\n");
fprintf(pipe, "set polar\n");
fprintf(pipe, "plot '-' with linespoints \n");
fprintf(pipe, "e\n");
fflush(pipe);
fclose(pipe);
しかし、これは私が期待する幾何学的グラフを印刷しません(遠く離れている点は接続されています)。この手順を使用してファイルにデータを書き込むと、
outfile << RC[j].angle << ", " << RC[j].radius << endl;
outfile << RC[start[ptr]].angle << ", " << RC[start[ptr]].radius << endl;
outfile << " " << endl;
私は必要なグラフを取得します。パイプに何が問題なのですか?あなたのstd::ostream
とfprintf
バージョンから
C++プログラムを標準ファイルに書き込んでgnuplotに与えます。この方法で、C++かgnuplotのエラーかどうかを知ることができます。 – YSC
あなたの助言に従って、私が探しているグラフを標準的なファイルで取得します。したがって、エラーは配管アルゴリズムにあります。投稿が編集されました。 – DM037
私の答えについてのフィードバックがありますか? – YSC