gnuplot-cpp library使用记录

来源:互联网 发布:网络播放系统 编辑:程序博客网 时间:2024/05/17 02:03
<span style="font-family: Arial, Helvetica, sans-serif;">static void set_terminal_std(const std::string &type);</span>

设置你现在使用的系统,因为调用系统命令不同

Gnuplot(const std::string &style = "points");
初始化构造函数,参数可以缺省


Gnuplot(const std::vector<double> &x,                const std::string &title = "",                const std::string &style = "points",                const std::string &labelx = "x",                const std::string &labely = "y");

初始化构造函数,输入参数:函数值,标题,线型,坐标轴名


Gnuplot(const std::vector<double> &x,                const std::vector<double> &y,                const std::string &title = "",                const std::string &style = "points",                const std::string &labelx = "x",                const std::string &labely = "y");
初始化构造函数,输入参数:x坐标值,y坐标值,标题,线型,坐标轴名


Gnuplot(const std::vector<double> &x,                const std::vector<double> &y,                const std::vector<double> &z,                const std::string &title = "",                const std::string &style = "points",                const std::string &labelx = "x",                const std::string &labely = "y",                const std::string &labelz = "z");
初始化构造函数,输入参数:x坐标值,y坐标值,z坐标值,标题,线型,坐标轴名


Gnuplot& cmd(const std::string &cmdstr);
给gnuplot输入命令

Gnuplot& showonscreen();
将数据在窗口中作图


<pre name="code" class="cpp">Gnuplot& savetops(const std::string &filename = "gnuplot_output");
讲数据保存到文件中
 Gnuplot& set_style(const std::string &stylestr = "points");
设置画图的线型:lines, points, linespoints, impulses, dots, steps, fsteps, histeps, boxes, histograms, filledcurves

Gnuplot& set_smooth(const std::string &stylestr = "csplines");
设置光滑属性:csplines, bezier, acsplines (for data values > 0), sbezier, unique, frequency。设置后设置线型不起作用


inline Gnuplot& unset_smooth(){ smooth = ""; return *this;}; 
取消光滑属性,初始默认没有光滑属性

Gnuplot& set_pointsize(const double pointsize = 1.0);
设置画图点的大小

inline Gnuplot& set_grid(){cmd("set grid");return *this;};
打开网格


inline Gnuplot& unset_grid(){cmd("unset grid");return *this;};
关闭网格,初始默认关闭网格


inline Gnuplot& set_multiplot(){cmd("set multiplot") ;return *this;};
使得一个窗口画多个图形


inline Gnuplot& unset_multiplot(){cmd("unset multiplot");return *this;};
关闭画多个图形这宗模式


Gnuplot& set_samples(const int samples = 100);
设置画图插值点数


Gnuplot& set_isosamples(const int isolines = 10);
设置等值线密度,适用于3d-plot

Gnuplot& set_hidden3d(){cmd("set hidden3d");return *this;};
隐藏3d图形中的线


inline Gnuplot& unset_hidden3d(){cmd("unset hidden3d"); return *this;}; 
取消隐藏隐藏3d图形中的线,默认是不隐藏的


Gnuplot& set_contour(const std::string &position = "base");
画出3d图形的轮廓


inline Gnuplot& unset_contour(){cmd("unset contour");return *this;};
隐藏3d图形的轮廓


inline Gnuplot& set_surface(){cmd("set surface");return *this;};
画出3d图形的表面


inline Gnuplot& unset_surface(){cmd("unset surface"); return *this;}
关闭3d图形的表面,默认是打开的


Gnuplot& set_legend(const std::string &position = "default"); 
打开图例


inline Gnuplot& unset_legend(){cmd("unset key"); return *this;}
关闭图例


inline Gnuplot& set_title(const std::string &title = "")
设置标题


inline Gnuplot& unset_title(){this->set_title();return *this;}
关闭标题


Gnuplot& set_ylabel(const std::string &label = "x");
设置x坐标轴名字


Gnuplot& set_xlabel(const std::string &label = "y");
设置y坐标轴名字


Gnuplot& set_zlabel(const std::string &label = "z");
设置z坐标轴名字


Gnuplot& set_xrange(const double iFrom,                        const double iTo);
设置x轴显示的范围


Gnuplot& set_yrange(const double iFrom,                        const double iTo);
设置y轴显示的范围


Gnuplot& set_zrange(const double iFrom,                        const double iTo);
设置z轴显示的范围


inline Gnuplot& set_xautoscale(){cmd("set xrange restore");cmd("set autoscale x");return *this;};
设置x轴为默认设置


inline Gnuplot& set_yautoscale(){cmd("set yrange restore");cmd("set autoscale y");return *this;};
设置y轴为默认设置


inline Gnuplot& set_zautoscale(){cmd("set zrange restore");cmd("set autoscale z");return *this;};
设置z轴为默认设置


Gnuplot& set_xlogscale(const double base = 10);Gnuplot& set_ylogscale(const double base = 10);Gnuplot& set_zlogscale(const double base = 10);inline Gnuplot& unset_xlogscale(){cmd("unset logscale x"); return *this;};inline Gnuplot& unset_ylogscale(){cmd("unset logscale y"); return *this;};inline Gnuplot& unset_zlogscale(){cmd("unset logscale z"); return *this;};

设置/取消设置轴为对数坐标


    /// plot a single std::vector: x    ///   from file    Gnuplot& plotfile_x(const std::string &filename,                        const unsigned int column = 1,                        const std::string &title = "");    ///   from std::vector    template<typename X>    Gnuplot& plot_x(const X& x, const std::string &title = "");    /// 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 = "");    ///   from data    template<typename X, typename Y>    Gnuplot& plot_xy(const X& x, const Y& y, const std::string &title = "");    /// plot x,y pairs with dy errorbars: x y dy    ///   from file    Gnuplot& plotfile_xy_err(const std::string &filename,                             const unsigned int column_x  = 1,                             const unsigned int column_y  = 2,                             const unsigned int column_dy = 3,                             const std::string &title = "");    ///   from data    template<typename X, typename Y, typename E>    Gnuplot& plot_xy_err(const X &x, const Y &y, const E &dy,                         const std::string &title = "");    /// plot x,y,z triples: x y z    ///   from file    Gnuplot& plotfile_xyz(const std::string &filename,                          const unsigned int column_x = 1,                          const unsigned int column_y = 2,                          const unsigned int column_z = 3,                          const std::string &title = "");    ///   from std::vector    template<typename X, typename Y, typename Z>    Gnuplot& plot_xyz(const X &x,                      const Y &y,                      const Z &z,                      const std::string &title = "");
从文件中读取数据画图


    /// plot an equation supplied as a std::string y=f(x), write only the function f(x) not y=    /// the independent variable has to be x    /// binary operators: ** exponentiation, * multiply, / divide, + add, - substract, % modulo    /// unary operators: - minus, ! factorial    /// elementary functions: rand(x), abs(x), sgn(x), ceil(x), floor(x), int(x), imag(x), real(x), arg(x),    ///   sqrt(x), exp(x), log(x), log10(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),    ///   sinh(x), cosh(x), tanh(x), asinh(x), acosh(x), atanh(x)    /// special functions: erf(x), erfc(x), inverf(x), gamma(x), igamma(a,x), lgamma(x), ibeta(p,q,x),    ///   besj0(x), besj1(x), besy0(x), besy1(x), lambertw(x)    /// statistical fuctions: norm(x), invnorm(x)    Gnuplot& plot_equation(const std::string &equation,                           const std::string &title = "");    /// plot an equation supplied as a std::string z=f(x,y), write only the function f(x,y) not z=    /// the independent variables have to be x and y    Gnuplot& plot_equation3d(const std::string &equation,                             const std::string &title = "");
画函数图像


    Gnuplot& plot_image(const unsigned char *ucPicBuf,                        const unsigned int iWidth,                        const unsigned int iHeight,                        const std::string &title = "");
画图片


inline Gnuplot& replot(void){if (nplots > 0) cmd("replot");return *this;};
重画刚才的图

Gnuplot& reset_plot();
将画板清空


Gnuplot& reset_all();
将所有变量清空

void remove_tmpfiles();
删除暂存的文件


inline bool is_valid(){return(valid);};
检测会话是否有效



0 0
原创粉丝点击