2017-10-13 110 views
0

我试图在C中使用Gnuplot进行绘图,到目前为止,我已经成功了一半后继另一个thread,但找不到任何地方如何超越一步。使用C设置标题和标签在gnuplot使用C

我的绘图代码去如下:

char * commandsForGnuplot[] = {"set title \"Probability evolution\"", "plot 'data.temp' with linespoints", "set xlabel \"beta probability\"", "set ylabel \"Fraction of sick individuals\""}; 
    FILE * temp = fopen("data.temp", "w"); 
    FILE * gnuplotPipe = popen ("gnuplot -persistent", "w"); 
    for (i=0; i < NB; i++){ 
    fprintf(temp, "%lf \n", B[i]); 
    } 
    for (i=0; i < 4; i++){ 
    fprintf(gnuplotPipe, "%s \n", commandsForGnuplot[i]); 
    } 

一切都显示正常除xlabel和ylabel,所以这部分肯定是错误的:

"set xlabel \"beta probability\"", "set ylabel \"Fraction of sick individuals\"" 

有谁知道如何设置它正确吗?

另外,如何设置这些标签和标题的大小?

非常感谢!

回答

0

plot部分是实际创建情节的部分。之后设置的所有内容都将被忽略:

char * commandsForGnuplot[] = { 
    "set title \"Probability evolution\"", 
    "set xlabel \"beta probability\"", 
    "set ylabel \"Fraction of sick individuals\"", 
    "plot 'data.temp' with linespoints" 
}; 
-1

非常感谢,工作正常!

所以以下铅我想修改轴范围,但现在又似乎有一些错误代码:

char * commandsForGnuplot[] = { 
     "set title \"Probability evolution\"font \"Helvetica, 20\"", 
     "set xrange \"[100:1000]\"",   
     "set xlabel \"Time steps\"font \"Helvetica, 15\"", 
     "set ylabel \"Fraction of sick individuals\"font \"Helvetica, 15\"", 
     "plot 'data.temp' with linespoints" 

的Gnuplot似乎并没有得到方式的xrange是键入,我应该如何适应它?

再次感谢!

+0

当然不是,因为你必须使用''set xrange [100:1000]“'。请看看gnuplot语法的基础知识! – Christoph

+0

谢谢Christoph,但也不管用,在这种情况下,在运行程序后没有显示任何图... – Arduino

+0

然后您的数据不在该范围内,那么该语法是正确的 – Christoph