【问题标题】:how to move xlabel and ylabel to zeroaxis position in gnuplot如何在gnuplot中将xlabel和ylabel移动到零轴位置
【发布时间】:2017-04-28 10:09:09
【问题描述】:

在 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 仍然在边界,给他们一个奇怪的位置。有没有一种通用的方法可以将轴标签设置为轴的零值位置?

【问题讨论】:

    标签: gnuplot axis axis-labels


    【解决方案1】:

    使用通用set label 定位此类标签。然后您可以使用graphfirst 坐标来定位标签。

    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 中引入。

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2019-02-19
      • 2020-11-08
      • 2016-02-12
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多