如何使用文本标签在gnuplot中绘制条形图?
答案 0 :(得分:110)
简单条形图:
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
data.dat文件:
0 label 100
1 label2 450
2 "bar label" 75
如果您想以不同方式设置酒吧样式,可以执行以下操作:
set style line 1 lc rgb "red"
set style line 2 lc rgb "blue"
set style fill solid
set boxwidth 0.5
plot "data.dat" every ::0::0 using 1:3:xtic(2) with boxes ls 1, \
"data.dat" every ::1::2 using 1:3:xtic(2) with boxes ls 2
如果您想为每个条目设置多个条形码:
data.dat文件:
0 5
0.5 6
1.5 3
2 7
3 8
3.5 1
gnuplot的:
set xtics ("label" 0.25, "label2" 1.75, "bar label" 3.25,)
set boxwidth 0.5
set style fill solid
plot 'data.dat' every 2 using 1:2 with boxes ls 1,\
'data.dat' every 2::1 using 1:2 with boxes ls 2
如果你想变得棘手并使用一些巧妙的gnuplot技巧:
Gnuplot有伪列,可用作颜色索引:
plot 'data.dat' using 1:2:0 with boxes lc variable
此外,您可以使用功能选择所需的颜色:
mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable
注意:您必须添加其他几个基本命令才能获得与样本图像相同的效果。
答案 1 :(得分:24)
plot "data.dat" using 2: xtic(1) with histogram
这里data.dat包含表格
的数据title 1 title2 3 "long title" 5
答案 2 :(得分:13)
我推荐Derek Bruening的条形图生成器Perl脚本。可在http://www.burningcutlery.com/derek/bargraph/
处获取答案 3 :(得分:12)
我想扩展一下最佳答案,它使用GNUPlot创建一个条形图,对于绝对的初学者,因为我读了答案,但仍然从语法的泛滥中感到困惑。
我们首先编写GNUplot命令的文本文件。让我们称之为commands.txt:
set term png
set output "graph.png"
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
set term png
将GNUplot设置为输出.png文件,set output "graph.png"
是它将输出的文件的名称。
接下来的两行是相当自我解释的。第五行包含很多语法。
plot "data.dat" using 1:3:xtic(2) with boxes
"data.dat"
是我们正在操作的数据文件。 1:3
表示我们将使用data.dat的第1列作为x坐标,使用data.dat的第3列作为y坐标。 xtic()
是一个负责编号/标记x轴的函数。因此,xtic(2)
表示我们将使用data.dat的第2列作为标签。
" data.dat文件"看起来像这样:
0 label 100
1 label2 450
2 "bar label" 75
要绘制图表,请在终端输入gnuplot commands.txt
。
答案 4 :(得分:1)
您可以直接使用gnuplot提供的样式直方图。如果您在输出中有两个文件,这是一个示例:
set style data histograms
set style fill solid
set boxwidth 0.5
plot "file1.dat" using 5 title "Total1" lt rgb "#406090",\
"file2.dat" using 5 title "Total2" lt rgb "#40FF00"