Gnuplot把xtics放在酒吧之间

时间:2013-09-14 01:42:20

标签: gnuplot

我需要能够定位tic标记,使它们位于图形中的条形图之间。 这样就可以看出0到14之间有2个点,15到30之间有0个点,依此类推,而不是在条形图下方居中的抽动。有没有办法根据盒子宽度自动执行此操作? Image 这是我当前的脚本尝试:

set xtics out nomirror
set ytics out nomirror
set tic scale 0
set style fill solid 1.00 border 0
set offset graph 0.1, 0.05, 0.1, 0.0
set boxwidth 15 *.9
set xtics offset -(15 *.9)/2
set term png
set output "graph.png"
plot 'data.dat' using 1:2:xtic(1) with boxes

这是.dat:

0       2
15      0
30      0
45      0
60      1
75      1
90      33

修改 根据框宽度,以下内容似乎始终如一:

set bwidth=15*.9
set boxwidth bwidth
set xtics out nomirror offset -bwidth/2 left

仍然可能有更好的方法。

1 个答案:

答案 0 :(得分:3)

使用您的解决方案,您只需移动抽动标签。我也会改变抽动。

以下是我的解决方案:

set tics out nomirror
set style fill solid 1.00 noborder
set autoscale fix
set offset 5,5,5,0

# extract the first and second x-values
stats 'data.dat' using 1 every ::::1 nooutput
start = STATS_min
width = STATS_max - STATS_min

set boxwidth width *.9
set xtics start, width

set term pngcairo
set output "graph.png"

plot 'data.dat' using ($1+width/2.0):2 with boxes

自动提取第一个和第二个数据值(要求版本> = 4.6.0)。这些值用于

  1. 设置boxwidth

  2. 设置xtics(起始值和增量)

  3. 将数据点移动x - 值增量的一半。

  4. 参见例如Gnuplot: How to load and display single numeric value from data file用于使用stats命令提取数据的另一个示例。您可以使用

    ,而不是使用stats加载数据
    start = 0
    width = 15
    

    4.6.3的结果是:

    enter image description here