gnuplot с ограничением по оси x исчезает - PullRequest
0 голосов
/ 24 сентября 2018

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

Для оси Y это работает очень хорошо при использовании опции ytics rangelimited.Однако, когда я использую xtics rangelimited на оси x, граница оси x исчезает:

imageset border option">

Еще более странно, когда я удаляю опцию set border, тамна моем графике появляется диагональная линия:

imageset border option">

Минимальный рабочий пример для создания этих цифр:

set terminal epslatex standalone size 8.0 cm, 8.0 cm

set output "test.tex"

# Define function
f(x) = abs(x)< 1 ? x**2 : NaN

set border 1+2 front #comment this out to get the diagonal line

set xrange [-1.5:1.5]
set xtics (-1.0,0,1.0) rangelimited nomirror

set yrange [-0.25: 1.25]
set ytics rangelimited nomirror

# plot line
plot f(x) with lines

Я хотел бы получить за хОсь аналогична таковой для оси Y.Кто-нибудь знает, как решить эту проблему?

В качестве побочного вопроса: я хотел бы, чтобы 0 также отображалось на оси Y.Есть ли автоматический способ сделать это?Или я должен всегда явно указывать gnuplot поставить тик в 0?

1 Ответ

0 голосов
/ 24 сентября 2018

Ось x с ограниченным диапазоном выводится только для охвата точек данных.У вас нет точек данных, потому что вы строите функцию.Чтобы график вел себя как график данных, а не как график функций, вы можете использовать следующее соглашение:

plot '+' using 1:(f($1)) with lines

См. Документацию gnuplot для "plot special-filenames"

...