Установить пределы вертикальной оси выше/ниже максимального/минимального значения соответственно

Установить пределы вертикальной оси выше/ниже максимального/минимального значения соответственно

Я хотел бы иметь вертикальную ось на 1,0 выше максимального значения и на 1,0 ниже минимального значения (неявно). Хотя это и enlarge y limitsсделало бы работу, однако это не так. Я не уверен, как эта функция на самом деле работает и является ли это правильным подходом для решения моей проблемы.

В моем MWE вертикальный диапазон составляет от 2 до 7, поэтому я хотел бы, чтобы моя вертикальная ось была установлена ​​в диапазоне от 1 до 8. Это подразумевается из нанесенных на график значений; поэтому ymin=1и ymax=8не является ответом.

Вот мой MWE

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepackage{csvsimple}
\usepackage{filecontents}

\begin{filecontents*}{data.csv}
    x,value
    0, 3
    5, 6
    14, 7
    31, 2
\end{filecontents*}

\begin{document}
    \begin{tikzpicture}
    \centering
    \begin{axis}[
    enlarge y limits = 1
    ]
    \addplot table [x=x, y=value, col sep=comma] {data.csv};
    \end{axis}
    \end{tikzpicture}
\end{document}

решение1

По умолчанию, как вы можете видеть в руководстве (глава 4.14, страница 273, в руководстве версии 2.xx), у вас есть относительное увеличение:

/pgfplots/enlarge y limits=auto|true|false|upper|lower| val |value=val |abs value= val | abs= val |rel= val 
(initially auto)

поэтому вы enlarge y limits = 1увеличиваете пределы оси Y на 100%; вероятно, вы можете получить то, что ищете, с увеличением на 10% enlarge y limits = 0.1или аналогичным значением.

Чтобы увеличить его на фиксированное значение, вам следует сделать

enlarge y limits={abs=1}

чтобы получить:

Выход

Связанный контент