我需要能够定位tic标记,使它们位于图形中的条形图之间。 这样就可以看出0到14之间有2个点,15到30之间有0个点,依此类推,而不是在条形图下方居中的抽动。有没有办法根据盒子宽度自动执行此操作? 这是我当前的脚本尝试:
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
仍然可能有更好的方法。
答案 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)。这些值用于
设置boxwidth
设置xtics(起始值和增量)
将数据点移动x
- 值增量的一半。
参见例如Gnuplot: How to load and display single numeric value from data file用于使用stats
命令提取数据的另一个示例。您可以使用
stats
加载数据
start = 0
width = 15
4.6.3的结果是: