我正在尝试显示一个如下所示的图表: 它主要是做我想做的事情,y 轴上有一个标签,盒子上有第二个标签。 该框代表 y 标签上描述的事物的持续时间。
问题是,当 y 标签长度不接近时,自动布局会在左侧留下太多空白(或者可能总是当它很长时,它才更明显。)我怎样才能让标签更紧?
示例脚本:
set terminal png size 1024,480 background "white"
set output 'timing.png'
set timefmt "%m/%d"
set xdata time
set title "Timeline of Boxes"
set yrange []
set timefmt "%m/%d/%Y"
set xrange ["1/01/2019":"10/31/2024"]
set format x "%m/%y"
set ytics nomirror
set grid x y
unset key
set border 3
timeformat = "%m/%d/%Y"
T(N) = timecolumn(N,timeformat)
set datafile separator comma
plot "test1.csv" using (T(3)) : ($5) : (T(3)) : (T(4)) : ($5-0.5) : ($5+0.5) : ($5) : ytic(1) with boxxyerror, \
"test1.csv" using ((T(3)+T(4))/2):($5) : ($2) with labels center
有数据
#first,second,start,end,sequence
fourth y label,fourth box label,12/16/2021,10/30/2024,4
third y label,third box label,6/1/2020,12/15/2021,3
this y label is quite long actually,second box label,1/1/2020,6/1/2020,2
first y label,first box label,6/1/2019,12/30/2019,1
我已经尝试调整图像的大小,手动调整可以使其不那么明显,但如果能够专注于轴标签空白,那就太好了。
一个快速(但肮脏)的答案是:玩
lmargin
(检查help lmargin
),即添加一行
set lmargin 28 # or another suitable value
缺点是需要手动寻找合适的值,调整起来比较繁琐。这取决于字体和字体大小。我(目前)不知道有全自动工作的解决方案。