在gnuplot和C中将图形保存为PNG

4

我已经能够使用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;
} 
2个回答

4

您需要使用set terminal png命令。


谢谢您的回复。我已经进行了更改,但我仍然无法打开PNG文件 :( - Andrew
1
好的,我解决了。在设置输出命令之前,我必须添加“set terminal png”。 - Andrew

-1
为什么不使用能够本地导出PNG/EPS/SVG等格式并且甚至可以在控制台下进行(即无需X)的MathGL(GPL绘图库)呢?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接