Tikz 文本重叠

Tikz 文本重叠

我有以下代码,用于绘制三条双曲线和一条对角线。各种曲线的标签显示重叠的文本。我不知道如何避免文本重叠。如有任何建议,我将不胜感激。

\usepackage{tikz}
\usepackage{pgfplots}
\pgfkeys{/pgf/declare function={arcsinh(\x) = ln(\x + sqrt(\x^2+1));}}
\begin{figure} 
\begin{center} \resizebox{!}{5 in}{
\begin{tikzpicture}%[domain=0:4] 
    \draw[very thin,color=gray] (0,-3.9) grid (5.9,3.9);
    \draw[->] (0,0) -- (6.2,0) node[right] {$x$}; 
    \draw[->] (0,-3.9) -- (0,4.2) node[above] {$t$};

    \draw [color=red] plot[domain=-arcsinh(4):arcsinh(4)] ({cosh(\x)},{sinh(\x)}) node[above] {$r=1$};
    \draw [color=blue] plot[domain=-arcsinh(2):arcsinh(2)] ({2*cosh(\x)},{2*sinh(\x)}) node[midway,right] {$r=2$}; 
    \draw [color=green] plot[domain=-arcsinh(4/3):arcsinh(4/3)] ({3*cosh(\x)},{3*sinh(\x)}) node[below] {$r=3$}; 
    \draw [color=black] plot[domain=0:4/tanh(1)] ({\x},{tanh(1)*\x}) node[right] {$\omega=1$};  \filldraw ({cosh(1)},{sinh(1)}) circle
(2pt); \filldraw ({2*cosh(1)},{2*sinh(1)}) circle (2pt); \filldraw
({3*cosh(1)},{3*sinh(1)}) circle (2pt);   \end{tikzpicture}   }  
\caption{Polar Coordinates in a Minkowski Space}
    \label{fig:Hyperbolas} \end{center} \end{figure}

答案1

您可以使用xshiftyshift来优化您的节点定位。

此外,在图中请使用\centering,而不是环境。center

以下是一个例子:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}

\begin{document}
\pgfkeys{/pgf/declare function={arcsinh(\x) = ln(\x + sqrt(\x^2+1));}}
\begin{figure} 
    \centering
    \resizebox{!}{5 in}{
        \begin{tikzpicture}%[domain=0:4] 
            \draw[very thin,color=gray] (0,-3.9) grid (5.9,3.9);
            \draw[->] (0,0) -- (6.2,0) node[right] {$x$}; 
            \draw[->] (0,-3.9) -- (0,4.2) node[above] {$t$};

            \draw [color=red] plot[domain=-arcsinh(4):arcsinh(4)] ({cosh(\x)},{sinh(\x)}) 
                node[yshift=-.1ex, xshift=-1.7em] {$r=1$};
            \draw [color=blue] plot[domain=-arcsinh(2):arcsinh(2)] ({2*cosh(\x)},{2*sinh(\x)}) 
                node[midway,right, yshift=1.2ex, xshift=2.9em] {$r=2$}; 
            \draw [color=green] plot[domain=-arcsinh(4/3):arcsinh(4/3)] ({3*cosh(\x)},{3*sinh(\x)}) 
                node[midway, yshift=1.2ex, xshift=10em] {$r=3$}; 
            \draw [color=black] plot[domain=0:4/tanh(1)] ({\x},{tanh(1)*\x}) node[right] {$\omega=1$};  
            \filldraw ({cosh(1)},{sinh(1)}) circle (2pt); 
            \filldraw ({2*cosh(1)},{2*sinh(1)}) circle (2pt); 
            \filldraw ({3*cosh(1)},{3*sinh(1)}) circle (2pt);   
        \end{tikzpicture}   
    }  
    \caption{\label{fig:Hyperbolas}Polar Coordinates in a Minkowski Space}
\end{figure}
\end{document}

在此处输入图片描述

相关内容