GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

时间:2023-12-13 12:40:38

  在Windows下使用客户端,直接可以打开.plt文件的gnuplot格式的文件,open->xx.plt

  在Linux下使用shell 运行gnuplot脚本, 结果一闪而过.解决办法是在 程序末尾+一句:

pause -1  #让程序永久暂停

  

  操蛋的GNUPLOT命令简写,本来命令就很多,现在都用简写,谁tm知道是什么意思,而且还不好查。文档里面也是一大坨。简写是方便了,但是 让新手玩家欲哭无泪。所以本屌觉得这是个傻逼的

缩写方案。

  转自:http://qbk378.lofter.com/

谈谈gnuplot(七):点线风格

我们接着上次的数据图谈起。上次我们得到了这样一个“点线”图:

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

这里的数据点是由小“十”字表示的,但是似乎太小了,有点看不清楚。另外,如果我们想在做报告时把这个图用到幻灯片中去,小“十”字很不醒目,这时候我们可能想用其他的标志。gnuplot里面有几个控制点和线画法风格的参数:

  • linestyle   连线风格(包括linetypelinewidth等)
  • linetype     连线种类
  • linewidth   连线粗细
  • linecolor   连线颜色
  • pointtype   点的种类
  • pointsize   点的大小

我们看下面的例子:
gnuplot> plot "datafile.dat" with linespoints linecolor 3 linewidth 2 pointtype 7 pointsize 2

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

这几个参数的用法不难理解,直接跟在 with 命令之后就可以了,但是2、3、7这些数字都代表什么意思呢?这些数字是代表不同画法风格的代码,具体某个数字代表什么意思,这个依赖于我们使用的 terminal(还记得我们在第二讲里曾经讲过的 terminal 吗?)拿我们现在正在使用的 wxt terminal 举例,如果想知道这些数字究竟代表什么意思,可以输入命令:
gnuplot> test
这样当前 terminal 会输出一个测试图:

测试图中包含当前 terminal 的风格代码实例。例如,左下角显示的是连线粗细,右边显示的是色彩和数据点显示风格对应代码。

最后,告诉大家一个好消息:gnuplot里面很多命令有缩写形式。例如上面例子中的绘图命令可以简写为:
gnuplot> plot "datafile.dat" w lp lc 3 lw 2 pt 7 ps 2
至于其他参数命令的缩写形式,相信不难猜出来,大家可以试验一下猜猜看。

  

++==================================end

  好了,知道了这些我们细说一下线段类型 - linetype

  终端的不同其实gnplot支持的线段类型(dash line) 也是不一样的。我们可以通过输出来显示本终端支持的类型使用如下命令:

  

set terminal pngcairo dashed
set output 'test.png'
test
set output

  我的电脑上得到如下结果:

  GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

  所示 几乎大多linetype 我都不支持啊 全是 直线 操蛋。 还好可以用 dashtype dt 1---5够用了。

  最终  画多条折线图代码如下:

  

set xlabel "样本规模大小"
set ylabel "性能"
set title "我国主要海域监测情况"
set xrange [0.5:4.5]
set yrange [:]
plot "jiangshui.dat" using : w lp dt title "本文算法", "jiangshui.dat" using : w lp dt title "退火算法", "jiangshui.dat" using : w lp dt pt title "分支限界", "jiangshui.dat" using : w lp dt pt title "前序选择/后序选择"

  数据如下:

 2.4 1.1 1.1 0.7
2.7 1.9 1.5 1.2
3.0 2.5 1.3 1.3
3.4 2.5 1.8 1.5

  顺便解释一下 操蛋的GNUPLOT缩写:  plot "x.dat" using 1:2(x=1列,y=2列) with linepoint dashtype 1 title "fuckGNUPLOT"

最后本人柱状图的代码:

  

set yrange [:]
set ylabel "Early terminate ratio (%)"
set xlabel "Length of S"
set output "fuck.png"
unset tics
set ytics ,,
set xtics ('' , '' , '' , '' , '' )
#set xtics ('' , '' , '' , '' , '' ) #set xtics center offset ,-
set style histogram clustered gap #//gap 2表示裂隙宽等于矩形宽度的2倍
set style fill pattern border - #//fill solid表示完全填充柱体,后面跟0-1的参数,1表示完全填充,border 表示柱体的边线颜色,-1表示黑色。这里还可以加参数pattern
plot 'ETR.data' using with histogram ls title 'n = 40', 'ETR.data' using with histogram ls title 'n = 120', 'ETR.data' using with histogram ls title 'n = 200'#//using 1 表示d2.data数据中的第一列,using 1:3表示第一列和第三列
pause - #使运行结果永久停留

柱状图:

aaarticlea/png;base64,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CACA+rhPwHffffe//du/ZWVllZeX/+Mf/2hra7t48eLBgwfvueeeV1555fbbb7fb7SFuKAAAauL+EvQ999wzb94810hiYuJNN9100003LV682Gw2X7p0KSTNAwBAndwnYNfse/bs2S+++MLhcAwZMmTAgAFCCIPBEJrGAQCgVte4CeuZZ57Ztm3b6NGjY2JiKisrR40a9fzzz4emZQAAqJj7BPyb3/zm0UcfTUpK2rZt21/+8pcePXrI8fz8/BC2DQAA1XKfgIcMGWIwGAoKCu65555Ro0YNHTo0JibGarVOmTIlxO0DAECV3CfgwsLCgoKC9evXb968ubCwMD8/PyYmRq/X9+nTJ8TtAwBAlTzWAXfv3n3+/Pm7du1qbGy8//77P/vsM51OF8qWAQCgYu4T8MsvvzxixIif/exn9913344dO5YsWXLo0KFx48bt2rUrxO0DAECV3F+CfuWVV44cOSLfe3Xx4sUJEyb8/e9/r62tLSsrmzlzZmhbCACACrlPwMOGDfvFL34xatQoh8Px17/+9bbbbhNCDB48ePPmzSFtHQAAKuU+Ab/22muffvrpl19+2a1btxkzZmRlZbn+tLW11eFwxMXFhaSFAACokPs54NGjR//tb3+bNGlSQUGBa/Ztbm5+4403Ro8ebbPZQtVCAABUyP0I+IMPPli5cuVjjz02ZMiQYcOGJSUlNTU11dbWHjly5JZbbtm4caNerw9tOwEAUBX3CViv17/55pvnz58/cODAF198Ia8HPG3atNtvv53UCwCA/7w9C7pPnz533XVXyJoCAED08PggDgAAEDwkYAAAFBDSBLx9+/YRI0Zcd9119913nxxZt25dSkpKcnKy0WgMZUsAAFDWNdYDFkJUV1efOnUqLS1tyJAh3br5nrA/+OCDxx57bOvWrWPGjJEjR48eXbVq1d69e7Va7cSJE2+99dbJkyf7vH8AACKIt4RaW1ubk5MzevTohQsXjh07Njs7+4svvvD5Nz3zzDPPPvusM/sKIXbt2lVQUJCdnT106NCioqKdO3f6vHMAACKLtxHw4sWL582bV1xcHBMT43A4Nm7ceP/991ssFh9+jSRJf/3rXydNmjR8+HCtVvvb3/524sSJVVVV48aNk9+QmZm5b9++a+7Hbrfb7XaTydQubjAYcnNzfWgYAACdYbFYzGZzu6DVavV5qUBv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77zz3nvvraurW7hw4YQJE65cuULPdCRJ0i9+8YsZM2ZMmjRJ/PPBIzq9OLfKxMTElJSU9OrVS6fTzZgx489//nPUdsvBgwf/3//7f1u3btVoNMLdwu1R2zMBRwKOPJs2bTp27Fi/fv369u377rvvFhUVFRcXt1tc+YYbbpBPnqhis9mOHTtWXFys0WiKiora2tqOHz9Oz3RUUlLSo0ePVatWyS/T09MbGxvtdrsQwuFwWK3WKFyce/DgwWfPnpW3W1paevToEZ3dUllZWVBQsG3btoEDB8qRjgu3R2fPBIWSE9Dwyfnz57/+3rRp09auXXv+/PmWlpa0tLT33nuvubl59uzZpaWlSjdTAVeuXNHpdBUVFZIkVVZW9uvXr76+np6RJOmGG25w3m30xBNP3HHHHefPn7948eLFixevXLkiSdKsWbNKS0uvXLmyevXqnJwcRRsbOq7d8vbbb48cOfLMmTPffPPN4MGD//73v0vR1y2nTp264YYb/vSnP8nHRmNjoyRJL7zwQl5eXkNDw5///Ofk5GT53qto65kgIQFHtrvvvlu+C1qSJLPZPGTIkJ49e959990NDQ3KNkwpH3zwwahRo370ox8NHz78vffek4P0jGumSUpKcv0K/sorr0iSdPLkyfHjx2u12jFjxpw4cULRxoaOa7dIkvTkk08OGjRo4MCBL774ohyJtm5Zs2aN67GRmpoqSdKVK1cWLlzYq1ev9PT08vJy+Z3R1jNBwnrAAAAogDlgAAAUQAIGAEABJGAAABRAAgYAQAEkYAAAFEACBgBAASRgAAAUQAIGAEABJGAAABRAAgYAQAEkYAAAFEACBgBAASRgAAAUQAIGotTvfve7xYsXd/Vfbd26tV+/fmlpaU1NTcFoFRA9SMBAWDt37pxGownU3lpbW3fs2OHPHlatWrV58+avvvpKq9U691lUVNS3b99evXrddttt33zzTSBaCqhfrNINABA6H3744fbt2++++26f92Cz2TIzM+Pj452RzZs3Hzp06OOPP05MTPzb3/6WlpYWiJYC6scIGIg8W7duvf766wcMGLB27Vo5ct11161du3bQoEEDBgzYunWrHPzf//3fUaNGpaamajSaXr16vfHGGw8++OB///d/Dxs2zGw2CyH+8Y9/3Hbbbb169ZoyZcp3333X7rds27YtMzMzJSXlgQceaG5ubmlpmTlz5nfffTd58uTVq1c733by5MmcnJy0tLRevXpNmjQpgON1QOUkAGHs7Nmz7c7Tqqqq1NTUmpqakydPDhgw4PDhw5IkxcXFzZ8/v6WlZd++fcnJyW1tbZIkZWZm7t+//8qVK2PGjPnggw8kSXrttdd+9rOfyfv57W9/Gx8ff+jQoZaWlokTJ77wwguuv+XEiRPJyclHjhxpamq65557li9fLseTkpKqqqpc33no0KGUlJQ333xT/qUAOokRMBBhdu7cOW3atB//+McDBw6cPHny3r175XhJSUlcXNyECRMuXbpUX1/f2tr6xRdfjB49OjY2Njs7u7KysuOu8vPzx44dGxcXN2nSpKqqKtcflZeXT5kyJSsrKyEh4ZFHHnnjjTc8tWfs2LFbt25dtWrVyJEjP/zww8B+WEDFSMBAhLHZbH/84x91Op1Op9u2bVt9fb0cT01NlTe6d+/e2toaGxubnp5+8ODBK1eufPTRRyNHjuy4q3b/pN1vcc7m9u/f32azSZLkqUn5+fmffvrpr3/96zlz5nz22Wf+f0YgGpCAgQiTmppaWFhot9vtdntDQ4NzOrZbt/an86uvvnrPPffcfvvtP/3pT8ePHy+EaDdB2/GfOKWlpZ05c0bePnPmjDyR7KVVGo1m3rx548ePP3jwoA8fCohCJGAgAjR8r7W1ddasWe++++4XX3whhLBaradPn/b0r959992ysrI9e/b86le/kiN9+/atq6sTQngZzspmzZr1/vvvf/nll21tbS+99NLs2bM9vfMvf/lLTU3N5cuXjx8/7mmoDaAjEjAQAXp9b8uWLcOGDXvxxRfvuusunU531113nTt3ztO/0ul0v/rVr5KTkxMSEgoLC4UQEyZM6N69e3p6+vvvv+/9Nw4dOnT9+vXTpk1LT093OBxPPfWUp3cePHhQvpX67rvvNplMY8aM8fVTAtFFc80vwgAi0Y4dO15//fU333yzZ8+eNptt2LBhn3/++YABA5RuF4CrGAED6lRbW5uSktKzZ08hxDfffKPRaPr27at0owD8gCdhAepUWFj485//PDMzMyYmJikpadu2bT169FC6UQB+wCVoAAAUwCVoAAAUQAIGAEAB/x9XyHh74hE8AAAAAABJRU5ErkJggg==" alt="" />

数据:

57.6 25.1 14.6
44.1 18.8 10.6
41.5 11.8 7.3
32.9 12.3 6.5
28.0 9.4 5.9

柱状图 一种加数据标签的版本:

set yrange [:]
set ylabel "清洗后脏数据率(%)"
set xlabel "不同的数据集" unset tics
#set ytics ,0.01,0.3
set xtics ('CMOR' , 'NOD' , 'CFOFR' )
#set xtics ('' , '' , '' , '' , '' )
set yrange [: 0.3] # 图上显示的y的范围 set label '0.14' at -0.3, 0.145
set label '0.17' at 0.05, 0.175 set label '0.09' at 0.74, 0.095
set label '0.07' at 1.05, 0.075 set label '0.21' at 1.75, 0.215
set label '0.25' at 2.05, 0.255 #set xtics center offset ,-
set style histogram clustered gap #//gap 2表示裂隙宽等于矩形宽度的2倍
set style fill pattern border - #//fill solid表示完全填充柱体,后面跟0-1的参数,1表示完全填充,border 表示柱体的边线颜色,-1表示黑色。这里还可以加参数pattern
plot 'ETR2.data' using with histogram ls title '本文方法', 'ETR2.data' using with histogram ls title 'Trillum'#//using 1 表示d2.data数据中的第一列,using 1:3表示第一列和第三列
pause -

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

  最后,增加了设置 title字体大小 + 折现粗细 的功能:

set xlabel "样本规模大小(%)" font "Time-Roman,14"
set ylabel "准确率(%)" font "Time-Roman,14"
set title "{/Times=15 纽林海洋科学测量数据}"
set xrange [0.5:4.5]
set yrange [:]
#set yrange[: ] plot "jiangshui.dat" using : w lp lw dt title "{/Times=13 本文方法}",\
"jiangshui.dat" using : w lp lw dt title "{/Times=13 基于模型}", \
"jiangshui.dat" using : w lp lw dt pt title "{/Times=13 基于密度}",\
"jiangshui.dat" using : w lp lw dt pt title "{/Times=13 基于近邻}"

画折现图 使用了平滑 效果 使得曲线不太刺激

#set term pngcairo size ,
#指定输出成png图片,且图片大小为550×,需要ligpng支持,采用默认颜色设定
set size 0.9,0.9 #指定绘图区域占整个size的比率 # X轴
set xdata time #X轴数据格式为时间
set timefmt "%s" #时间输入格式
set format x "%m-%d" #x轴时间输出格式 set xtics rotate by -
set xrange [:]
set xtics
set mxtics
#set xtics
#set xrange [:]
#set xtics
set xlabel "时间(日)" offset , 3.0, - # Y轴
set ylabel "爬取量" rotate by offset , 10.3,
set ytics ("30w" , "40w" , "50w" , "60w" )
set yrange [:] set style data lines #数据显示方式为连线 set border
set xtics nomirror
unset x2tics
set ytics nomirror
unset y2tics
#set key top left #图例位置
set key center at ,
plot "out8.dat" using : title "爬取数量" lw 1.4 smooth csplines

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

out8.dat

 313503.977081
331905.649889
318521.10331
306579.251481
322642.449389
350129.10749
385948.929864
397201.146123
400882.104801
413986.940177
423980.482202
404414.18391
408970.506749
419330.25561
460012.640927
465842.659336
444558.32591
458160.668344
451905.770105
494825.760743
500077.040152
552155.842179
513525.524576
498641.700172
526550.227633
519123.133965
571294.810875
580753.124728
589489.283606
576588.115768
589092.341126

再补充一例:

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

set yrange [:]
set ylabel "time cost(s)"
set xlabel "number of images"
set xrange[-0.5: 4.5]
set xtics ('' , '' , '' , '' , '' )
set style histogram clustered gap
set style fill pattern border -
plot 'sift_gpu.dat' using with histogram ls fill pattern title 'SIFTGPU', 'sift_gpu.dat' using with histogram ls title 'SIFT'
# ls表示填充线颜色 fill pattern确定后之后的柱状图样式会 ++ 具体样式参考上面的图例中的 fill pattern
4.2 38.1
8.1 80.2
11.5 120.2
16.6 147.5
20.0 200.0

贴一个更好看的版本

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

与上面版本的区别是:

1、GNUPLT版本不一样

2、柱形图的宽度比例套用了模板

3、字体修改

-GNUPLT:全部工具包含例子全都放到网盘里了。 下面的链接备用。

-查看位图eps的工具GSview5.0

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

-查看位图eps的插件:Ghostscript

GNUPLOT 画多组柱状图 以及 折线图 以及各种问题的解决方案

代码:

reset
unset multiplot
set size 0.4,0.36
set origin ,
clear
set terminal postscript eps enhanced "Arial, 12"
set output "F://gnudat/sift.eps"
set multiplot
set palette ps_allcF# defined ( )
#set style fill solid set key top right width height -0.2 set boxwidth absolute #set key Right
set key spacing 0.725
set key samplen 2.5 set size 0.4,0.36
set origin , set xtics nomirror
set ytics nomirror set xlabel "Number of images" -0.4, +0.4 font "Arial, 12"
set ylabel "Time(sec)" 0.8, +0.4 font "Arial, 12" set xrange [:]
set yrange [:] set ytics ,,
set xtics ("" , "" , "" , "" ,"" )
#set style fill pattern border - set key ,
plot 'F://gnudat/sift_gpu.dat' using ($)*+:($) title "{/Times=9.8 SIFTGPU}" with boxes fs solid 0.5 lt ,\
'F://gnudat/sift_gpu.dat' using ($)*-:($) title "{/Times=9.8 SIFT}" with boxes fs pattern lt 1
# using ($1)*100+25:($2) ===> x:y

sift_gpu.dat:
 4.2 38.1
8.1 80.2
11.5 120.2
16.6 147.5
22.5 210.0