在键中写入值(a,b,c dynamic)

时间:2013-10-18 11:55:41

标签: gnuplot

首先感谢我的回复。在图表创建过程中,我得到了一些以下查询。

  1. 我正在尝试创建曲线拟合图并具有a,b,c值和数据点。是否可以为每一行写一个,b,c?这对用户很有帮助。像a = 2,b = 5 ..等每个四边形图。

  2. 我试图创建虚线但无法获得成功。是否可以用png终端创建虚线?

  3. 我必须在线上的特定位置创建点。是否有可能在gnuplot。

  4. 我设置了png终端,但我发现pngcario是最好的,但我无法使用。是否会创建更好的图形的任何其他终端?

  5. 任何其他改进图表的建议都会对我有所帮助(仍远离要求)

  6. 我试图通过在代码中替换 plot with splot 来创建散点图但是得到了以下错误。 需要1或3列笛卡尔数据

  7. 7.Gnuplot版本是: /remote/gnuplot-4.6.0/bin/gnuplot

    当前gnuplot代码为:

    set title 'Approximation Graph'
    set term png size 1200 1200
    set output 'plot.png'
    set xlabel "CLK-D Time (ps)"
    set ylabel "CLK-Q Time (ps)"
    set style line 1  linecolor rgb "black"  linewidth 1.000 pointtype 0
    set style line 2  linecolor rgb "red"  linewidth 1.000
    set style line 3  linecolor rgb "black"  linewidth 1.000 pointtype 0
    set style line 4  linecolor rgb "blue"  linewidth 1.000
    set xrange [-250 : 100]
    set yrange [100 : 250]
    set xtics 10
    set ytics 10
    f0_s(x) = a2 * x**2 + b2 * x + c2
    fit f0_s(x) 'clk0_s' via 'clk0_s_c'
    
    f1_s(x) = a8 * x**2 + b8 * x + c8
    fit f1_s(x) 'clk1_s' via 'clk1_s_c'
    
    f0_h(x) = a14 * x**2 + b14 * x + c14
    fit f0_h(x) 'clk0_h' via 'clk0_h_c'
    
    f1_h(x) = a20 * x**2 + b20 * x + c20
    fit f1_h(x) 'clk1_h' via 'clk1_h_c'
    set style data lines
    plot "clk0_h" u 1:2 ls 4 title "clk0_h", f0_h(x)  ls 3  title "clk0_h_quad_g" with steps , \
    "clk1_h" u 1:2 ls 2 title "clk1_h", f1_h(x)  ls 1 title "clk1_h_quad_g" with steps, \
    "clk0_s" u  1:2 ls 2  title "clk0_s", f0_s(x)  ls 1 title "clk0_s_quad_g" with steps, \
    "clk1_s" u 1:2 ls 4 title "clk1_s", f1_s(x) ls 3 title "clk1_s_quad_g" with steps
    f0_s(x) = a2 * x**2 + b2 * x + c2
    fit f0_s(x) 'clk0_s' via 'clk0_s_c'
    

    GNU图:  enter image description here

    需求图: enter image description here

1 个答案:

答案 0 :(得分:1)

首先回答一下你提出的不同观点:

  1. 要在键条目中包含拟合值,请使用sprintf

    set termoption enhanced
    plot f0_h(x) title sprintf("clk0_h_quad_g: %.1fx^2 + %.1fx + %.1f", a2, b2, c2)
    
  2. 不,png不支持虚线。

  3. 是的,您可以使用例如

    set object circle at graph 0.5, 0.5 radius graph 0.01 fillcolor rgb 'black' fillstyle solid 1.0 noborder
    

    举个例子。必须在plot命令之前设置此项。您也可以使用graph或类似内容,而不是first作为坐标类型,请参阅help coordinates。这至少需要gnuplot 4.4。

  4. 为什么没有pngcairo?您应该使用基于矢量的终端,例如set terminal postscript eps color colortext enhanced,它应该可以在任何版本中使用。这也支持虚线。之后,您可以将输出转换为pdf(例如使用epstopdf)或png(使用imagemagick的convert或任何其他图形程序)等。

  5. 我不知道您为何使用steps绘图风格。在我的另一个答案中,我已经建议你将数据绘制为点,并将拟合的函数绘制为线条(每对使用相同的颜色)。使用与png不同的终端可能是最重要的建议!并使用较少的抽搐。

  6. 您会将plot "clk0_h" u 1:2 with points视为散点图吗?否则我仍然不知道你想要什么以及它如何适合其他问题。

  7. 顺便说一句:你绝对应该浏览gnuplot demos以获得不同可能性的印象,然后阅读文档。