【问题标题】:Setting titles and labels in gnuplot using C使用 C 在 gnuplot 中设置标题和标签
【发布时间】:2017-10-13 09:23:20
【问题描述】:

我正在尝试在 C 中使用 Gnuplot 进行绘图,到目前为止,我在另一个 thread 之后已经成功了一半,但找不到任何地方如何更进一步。

我的绘图代码如下:

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\""

有人知道如何正确设置吗?

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

谢谢一百万!

【问题讨论】:

    标签: c plot gnuplot


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      非常感谢,成功了!

      因此,我想修改轴范围,但现在代码中似乎又出现了问题:

       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 的输入方式,我应该如何调整它?

      再次感谢!

      【讨论】:

      • 当然不是,因为你必须使用"set xrange [100:1000]"。请看一下 gnuplot 语法的基础知识!
      • 感谢 Christoph,但也不起作用,在这种情况下,运行程序后不会显示任何情节...
      • 那你的数据不在那个范围内,那个语法是正确的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      • 2018-02-19
      相关资源
      最近更新 更多