tikz箭头指向错误的方向

tikz箭头指向错误的方向

在我的 MWE(见下文)中,从节点 P2 到节点 P3 的箭头指向错误的方向(应该向上而不是向下)。

我怀疑这两个节点的紧密接近可能是造成这个问题的原因,但我不知道如何在不改变 tikz-picture 最后一行中的两个节点的情况下解决这个问题,在我看来,这在技术上是“错误”的解决方案。

梅威瑟:

\documentclass{standalone}

\usepackage{tikz}
    \usetikzlibrary{arrows,%
    positioning,%
    shapes}% TIKZ Bibliotheken

\begin{document}

    \begin{tikzpicture}
        % x-Achse
        \draw [->] (-0.5,0) -- (9,0)% Linie
            node [right] {Preis};% Label
        % y-Achse
        \draw [->] (0,-0.5) -- (0,9)% Linie
            node [above] {Menge};% Label
        % Graph
        \draw (0,8) -- (3,7)% Linie 1
            node [midway, above, sloped] {Nachfrage};% Label
        \draw [teal] (3,7) -- (5,1)% Linie 2
            node [teal, midway, right] {monopolistischer Bereich};% Label
        \draw (5,1) -- (8,0);% Linie 3
        % Menge
        \draw [teal, dashed] (5,1) -- (5,0)% Linie
            node [below] (M1) {\(M_1\)};% Label
        \draw [teal, dashed] (3,7) -- (3,0)% Linie
            node [below] (M2) {\(M_2\)};% Label
        \draw [->, teal] (M1) -- (M2);
        \draw [red, dashed] (1.5,7.5) -- (1.5,0)% Linie
            node [below] (M3) {\(M_3\)};% Label
        \draw [->, red] (M2) -- (M3);
        % Preise
        \draw [teal, dashed] (5,1) -- (0,1)% Linie
            node [left] (P1) {\(P_1\)};% Label
        \draw [teal, dashed] (3,7) -- (0,7)% Linie
            node [left] (P2) {\(P_2\)};% Label
        \draw [->, teal] (P1) -- (P2);
        \draw [red, dashed] (1.5,7.5) -- (0,7.5)% Linie
            node [left] (P3) {\(P_3\)};% Label
        \draw [->, red] (P2) -- (P3);
    \end{tikzpicture}

\end{document}
``

答案1

问题是节点P3和节点P2重叠。因此的底部P3位于的顶部下方P2。该\draw命令是从的顶部边缘绘制P2到的底部边缘P3,即向下。

您可以使用(P2.center) -- (P3.center)从节点中心绘制,但必须使用shorten >=和缩短箭头shorten <=。请注意,后面的空格shorten不是可选的。

我建议

\draw [->, red, shorten >=1.5mm, shorten <=2mm] (P2.center) -- (P3.center);

但如果您愿意的话,您可以将箭头缩短得更多。

在此处输入图片描述

相关内容