2015-03-06 24 views
7

grafisch darstellt, ist der folgende Code, den ich verwendet habe, um Daten (x- und y-Koordinaten) in eine Datei zu schreiben.Wie man ein Diagramm mit gnuplot von C++ - Programm

void display(){ 

    fstream out; 
    outfile.open("Co_ordinates.txt",fstream::out | fstream::trunc); 
    outfile.precision(6); 
    for(int i=0;i<3000; i++){ 
     outfile<<fixed<<x[i]<<" "<<fixed<<y[i]<<endl; 
    } 
    out.close(); 

} 

möchte ich die Grafik plotten mit der x- und y-Koordinaten aus der obigen Datei „Co_ordinates.txt“ Ich habe hinzugefügt gnuplot utility „gnuplot_i.hpp“ von https://code.google.com/p/gnuplot-cpp/source/browse/trunk/gnuplot_i.hpp.

Ich habe die folgende Funktion definiert in gnuplot_i.hpp verwendet

/// plot x,y pairs: x y 
    /// from file 
    Gnuplot& plotfile_xy(const std::string &filename, 
         const unsigned int column_x = 1, 
         const unsigned int column_y = 2, 
         const std::string &title = ""); 

ich den folgenden Code hinzugefügt haben, die Grafik

Fehler plotten

const string s="Co_ordinates.txt"; 
Gnuplot& plotfile_xy(&s,1,2,'Grid'); 

Aber immer folgende Fehler: Ausdruck Liste wird als zusammengesetzter Ausdruck in Initialisierer [-fmissiv] | behandelt Fehler: ungültige Initialisierung der nichtkonstanten Referenz des Typs 'Gnuplot &' von einem Rvalue vom Typ 'int' |

Ich habe den obigen Code in verschiedenen Formen versucht .. aber Fehler bekommen. Bitte schlagen einige Lösungen ..

+0

Ich denke, die Art und Weise Sie geschrieben haben getan werden kann, mit 'Gnuplot & plotfile_xy (& s, 1,2, 'Grid'); ', der Compiler denkt, dass Sie eine Funktion deklarieren, anstatt eine zu benennen. –

Antwort

2

plotfile_xy ist eine Memberfunktion der Gnuplot Klasse, so dass er anrufen müssen Sie eine Instanz von Gnuplot, zum Beispiel:

Gnuplot gp("lines"); 
//using the parameters from your code 
gp.plotfile_xy(&s,1,2,'Grid'); 

Es gibt nicht viel in der Art und Weise der Dokumentation, aber haben Sie bemerkt, dass es ein Beispielprogramm gibt, das viele der Funktionen demonstriert? https://code.google.com/p/gnuplot-cpp/source/browse/trunk/example.cc

8

Die ganze Sache, die ich getan habe einfach den folgenden Code

system("gnuplot -p -e \"plot 'Co_ordinates.txt'\"");

Verwandte Themen