10

我想可视化位图文件的不同颜色的数量。

我的数据表如下所示:

1 163073164
4 185122087
3 255242000
8 255255255
3 000162232
1 181230029
1 127127127
1 136000021
3 200191231

我想使用 gnu plot histogram 样式以自己的颜色绘制每个颜色条。

我只是通过使用“lc变量”来尝试一些东西,但它不起作用。:-(

我现在的 GNUPLOT 脚本:

set style data histograms 
set boxwidth 1
set grid
set style histogram cluster gap 0  
set style fill solid 1.0 border -1
set yrange [0:*]
set xrange [0:*]
set xtics border in scale 0,10  nomirror rotate by -45  offset character 0, 0, 0 left
plot "histo.dat" using 1:xticlabels(2) lc variable no title
#EOF

我收到此错误消息:

gnuplot> plot "histo.dat" using 1:xticlabels(2) lc variable no title
                                              ^
         "histo.plt", line 9: Bad data on line 1

任何人都可以给我一个提示或正确的命令吗?

最好的问候罗伯特

4

2 回答 2

22

好问题。我已经设法使用与您最初使用的boxes样式相反的样式使其工作。histogram我不认为这应该有太大的不同:

set boxwidth 1
set grid
set style fill solid 1.0 border -1
set yrange [0:*]
set xrange [-.5:*]
set xtics border in scale 0,10  nomirror rotate by -45  
plot "histo.dat" using ($0):1:($0):xticlabels(2) w boxes lc variable notitle
                        #^boxes centered on 0,1,2,3,....
                           #^data column
                              #^ linecolor column.  first box has linecolor corresponding to ls 0, second box has linecolor corresponding to ls 1, etc ...
                                   #^ xticlabels (apparently) come last.

如果您不熟悉伪列 0,它(本质上)是数据文件中的行号。我通常不发布这些东西的输出,但这会产生一个非常丰富多彩的情节!

彩色条形图

于 2012-07-26T12:46:34.197 回答
1

我只是编辑了一些东西,现在它可以工作了。

set boxwidth 1
set grid
set style fill solid 1.0 border -1
set yrange [0:*]
set xrange [-.5:*]
set xtics border in scale 0,10  nomirror rotate by -45 left
plot "histo.dat" using ($0):1:($2):xticlabels(3) w boxes lc rgb variable notitle
                        #^boxes centered on 0,1,2,3,....
                           #^data column
                              #^ linecolor column.  first box has linecolor corresponding to ls 0, second box has linecolor corresponding to ls 1, etc ...
                                   #^ xticlabels (apparently) come last. 
于 2012-07-31T17:44:01.570 回答