我可以在运行程序时使用gnuplot绘制图形,但现在我想将图形写入文件。下面的代码打开一个图并创建一个png,但是png没有打开(Gimp表示它已损坏)。不可否认,我并不真正理解我编写的代码,因为它来自网上的代码片段。有谁知道什么是错的?我想要做的就是将散点图保存为png。
#include <iostream>
#include "gnuplot_i.h"
#include <math.h>
using namespace std;
int main() {
double average_distance[5] = {1, 3, 5, 2, 4};
double x_coord[5] = {1, 2, 3, 4, 5};
gnuplot_ctrl* h1 = gnuplot_init();
gnuplot_setstyle(h1, "points");
gnuplot_cmd(h1, "set output 'test-plot-1.png'");
gnuplot_plot_xy(h1, x_coord, average_distance, 5, "plot");
gnuplot_cmd(h1,"set terminal x11" );
sleep(400);
return 0;
}
答案 0 :(得分:4)
您想要set terminal png
。
答案 1 :(得分:-1)
为什么不使用可以原生导出到PNG / EPS / SVG / ...的MathGL(GPL绘图库),甚至可以在控制台中进行(即没有X)?