Gnuplot - Показывать разные цвета тиков в 0 - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу отображать другой цвет тика в 0. Например, на изображении ниже я хочу установить цвет галочки на 0 по оси Y на blue. Это возможно? Благодарю.

enter image description here

1 Ответ

0 голосов
/ 28 апреля 2018

Я не знаю о прямой функции Gnuplot, которая позволила бы сделать это, тем не менее, можно использовать обходной путь.

Например, можно сбросить тик в нулевой позиции и вместо него разместить там собственную метку:

set terminal pngcairo enhanced font ",14"
set output 'fig.png'

set multiplot

xMin = 0
xMax = 2*pi

set xr [xMin:xMax]
set yr [-1:1]

set xtics out nomirror
set ytics out nomirror 
set ytics add ("" 0)

set label "0" at xMin,0 offset char -1.5,0 right textcolor rgb "blue"

plot sin(x) w l t 'sin(x)'

В качестве альтернативы можно использовать технику, основанную на multiplot, где стратегия в основном сначала состоит в том, чтобы построить интересующую функцию / данные без тика в нулевой позиции, а затем наложить ее на график, который является пустым, но для настраиваемого тик в нулевой позиции:

set terminal pngcairo enhanced font ",14"
set output 'fig.png'

set xr [0:2*pi]
set yr [-1:1]

set xtics out nomirror
set ytics out nomirror 
set ytics add ("" 0)

plot sin(x) w l t 'sin(x)'

set lmargin at screen GPVAL_TERM_SCALE * GPVAL_TERM_XMIN / (1.*GPVAL_TERM_XSIZE)
set rmargin at screen GPVAL_TERM_SCALE * GPVAL_TERM_XMAX / (1.*GPVAL_TERM_XSIZE)
set bmargin at screen GPVAL_TERM_SCALE * GPVAL_TERM_YMIN / (1.*GPVAL_TERM_YSIZE)
set tmargin at screen GPVAL_TERM_SCALE * GPVAL_TERM_YMAX / (1.*GPVAL_TERM_YSIZE)

unset border
unset key
unset xtics
unset ytics

set ytics ("0" 0) out nomirror textcolor rgb 'blue'

plot 1/0

Оба подхода приводят к почти одинаковому сюжету: enter image description here

...