2016-12-13 10 views
1

В Gnuplot, я используюкак двигаться xlabel и ylabel в zeroaxis положение в 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 остаются на границе, придавая им странное положение. Существует ли общий способ установки меток оси в положение нулевых значений оси?

enter image description here

ответ

1

Используйте общий set label для размещения таких меток. Затем вы можете использовать координаты и first для размещения этикеток.

y-label: Исходная точка оси 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' 

х-метка: Исходная точка у-оси на 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 

enter image description here

Обратите внимание, что синтаксис для получения курсивных этикеток был введен только с версией 5.