在gnuplot中,我使用
set style line 11 lc rgb '#222222' lt 1;
set border 3 back ls 11;
set zeroaxis linetype 1 linecolor rgb '#222222';
set xtics axis;
set ytics axis;
set border 0;
set style line 12 lc rgb '#808080' lt 0 lw 1
set grid back ls 12
set xtics add ('' 0)
set ytics add ('' 0)
set xlabel 'x' font 'Times-Italic,14'
set ylabel 'y' rotate by 0 font 'Times-Italic,14'
这会将轴从边界移动到轴的0值。然而,xlabel和ylabel仍然在边界,给他们奇怪的位置。是否有将轴标签设置为轴零值位置的通用方法?
答案 0 :(得分:1)
使用通用set label
来定位此类标签。然后,您可以使用graph
和first
坐标来定位标签。
y-label: x轴的起点位于graph 0, first 0
(绘图的最左侧点和y方向的零位置)。现在,使用offset char -1,0
将标签向左移动1个字符宽度并右对齐:
set label 'y' at graph 0, first 0 offset char -1, char 0 right font 'Times-Italic,14'
x-label: y轴的起点位于first 0, graph 0
。将标签再移动1个字符宽度到底部并居中:
set label 'x' at first 0, graph 0 offset char 0, char -1 center font 'Times-Italic,14'
注意,使用此功能,您必须手动在图表的左下方留出空间,以容纳标签,例如:
set lmargin 3
set bmargin 2
完整示例:
reset
set zeroaxis linetype 1 linecolor rgb '#222222'
set xtics axis
set ytics axis
set border 0
set style line 12 lc rgb '#808080' lt 0 lw 1
set grid back ls 12
set xtics add ('' 0)
set ytics add ('' 0)
set label '{/:Italic x}' at first 0, graph 0 offset char 0, char -1 center font 'Times New Roman,14'
set label '{/:Italic y}' at graph 0, first 0 offset char -1, char 0 right font 'Times New Roman,14'
set lmargin 3
set bmargin 2
plot x + 2
请注意,获取斜体标签的语法仅在版本5中引入。