我使用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
这是我的输出:
我想要按x
的连续顺序加入点
我怎么能做到这一点?
答案 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