mmz*_*mzc 1 axis gnuplot axis-labels
在 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'
Run Code Online (Sandbox Code Playgroud)
这会将轴从边界移动到轴的 0 值。但是, xlabel 和 ylabel 保留在边界处,使它们处于奇怪的位置。是否有将轴标签设置为轴零值位置的通用方法?
使用通用set label来定位此类标签。然后您可以使用graph和first坐标来定位标签。
y 标签: x 轴的起点位于graph 0, first 0(图的最左侧点和 y 方向的零位置)。现在,将标签向左移动 1 个字符的宽度offset char -1,0并右对齐:
set label 'y' at graph 0, first 0 offset char -1, char 0 right font 'Times-Italic,14'
Run Code Online (Sandbox Code Playgroud)
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'
Run Code Online (Sandbox Code Playgroud)
请注意,使用此功能,您必须手动在图的左侧和下方留出足够的空间以容纳标签,例如
set lmargin 3
set bmargin 2
Run Code Online (Sandbox Code Playgroud)
完整示例:
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
Run Code Online (Sandbox Code Playgroud)
请注意,获取斜体标签的语法仅在版本 5 中引入。