意外输出GNUPlot

时间:2014-03-27 06:08:51

标签: gnuplot

我使用GNUPlot绘制一个简单的图形,但输出不是我预期的顺序 这是我的剧本:

set title 'cost function vs clusters'
set xlabel '#clusters'
set ylabel 'cost function'
set terminal postscript
set output '| ps2pdf - output.pdf'
plot filename using 1:2 title "x" with linesp  

我正在绘制数据的数据是:

13  0.004945370902817711
8   0.06739505462909719
2   0.28378378378378377
17  0.004657849338700402
5   0.015181138585393904
20  0.0018401380103507763

这是我的输出:
enter image description here

我想要按x的连续顺序加入点 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

对于您显示的数据,您可以使用smooth unique。这会对数据进行排序,并使用具有平均y值的单个点替换相同的x值。如果你可以确定,你将永远不会有两个相等的x值,那么你可以使用它:

set title 'cost function vs clusters'
set xlabel '#clusters'
set ylabel 'cost function'
set terminal pdfcairo
set output 'output.pdf'
plot filename using 1:2 smooth unique title "x" with lp

并使用gnuplot -e 'filename="aboveFile"' plot.gpi调用它。

使用sort的其他变体也可以正常工作:

plot '< sort -n '.filename using 1:2 title "x" with lp