你如何在gnuplot中绘制条形图?

时间:2008-11-29 14:29:21

标签: graph charts plot gnuplot bar-chart

如何使用文本标签在gnuplot中绘制条形图?

5 个答案:

答案 0 :(得分:110)

简单条形图:

bar graph

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

如果您想以不同方式设置酒吧样式,可以执行以下操作:

multi color bar graph

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

barchart_multi

如果你想变得棘手并使用一些巧妙的gnuplot技巧:

Gnuplot有伪列,可用作颜色索引:

plot 'data.dat' using 1:2:0 with boxes lc variable

barchart_multi2

此外,您可以使用功能选择所需的颜色:

mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable

barchart_multi3

注意:您必须添加其他几个基本命令才能获得与样本图像相同的效果。

答案 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"