Установка смещения линии оси?

Установка смещения линии оси?

Мне было интересно, можно ли легко отделить осевые линии друг от друга.

Из этого фрагмента кода,

    \begin{tikzpicture}
    \begin{axis}[%
    xmin=-6.3, xmax=6.3,
    ymin=-2.3, ymax=2.3,
    ]
    \addplot {2*sin(deg(x))};
    \end{axis}
    \end{tikzpicture}

как мне добиться чего-то похожего на нижний левый график этого примера?

введите описание изображения здесь

Я хотел бы удалить линию между первой отметкой оси x и линией оси y: есть ли способ независимо сместить оси и/или «сместить» угол, где оси пересекаются друг с другом?

решение1

Вы можете изменить every non boxed x axisстиль, добавив смещения для осей, меток и отметок:

\documentclass{article}
\usepackage{pgfplots} 

\newlength\xaxisoffset
\newlength\yaxisoffset
\setlength\xaxisoffset{-10pt}
\setlength\yaxisoffset{-10pt}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[%
every non boxed x axis/.style={
xtick align=center,
x axis line style={yshift=\xaxisoffset,-stealth},
y axis line style={xshift=\yaxisoffset,-stealth},
yticklabel style={xshift=\yaxisoffset},
xticklabel style={yshift=\xaxisoffset},
xtick style={very thin,yshift=\xaxisoffset},
ytick style={very thin,xshift=\yaxisoffset},
},
xmin=0, xmax=7.3,
ymin=-2, ymax=2.3,
axis x line=bottom,
axis y line=left
]
\addplot[blue,domain=0:7] {2*sin(deg(x))};
\end{axis}
\end{tikzpicture}

\end{document}

введите описание изображения здесь

Длина \xaxisoffsetи\yaxisoffset позволяют управлять каждой осью независимо.

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