ノードの座標が通常の座標と異なるのはなぜですか? また、座標系内の任意の垂直線に目盛りを追加するにはどうすればよいでしょうか?

ノードの座標が通常の座標と異なるのはなぜですか? また、座標系内の任意の垂直線に目盛りを追加するにはどうすればよいでしょうか?

次の図を にプロットする必要がありますLaTeX

ここに画像の説明を入力してください

提案されたように、私は自分でいくつか試してみましたが、これまでのところ次のようになりました:

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\usepackage{pgfplots}
\usetikzlibrary{arrows.meta,automata,topaths}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  axis lines=middle,
  axis line style={-Stealth,very thick},
  xmin=0,xmax=5.5,ymin=-5.5,ymax=6.5,
  xtick distance=1,
  xticklabels={,,},
  ytick distance=1,
  yticklabels={,,},
  xlabel=$\theta$,
  ylabel=Net Utility,
  grid=major,
  grid style={thin,densely dotted,black!20}]
\addplot [domain=0:5,samples=2] {x*2/3-0.5} node[right]{$N (Incumbent)$}; %These are not shown completely
\addplot [domain=0:5,samples=2] {x*2-4.5} node[right]{$P (new entrant)$}; %These are not shown completely
\addplot +[-Stealth,very thick,mark=none] coordinates {(5, -5.4) (5, 6.4)}; %Why is it brown colored? and how can I put the ticks in this one too?
\addplot +[mark=none] coordinates {(3, 0) (3, 4.4)};
\addplot +[mark=none] coordinates {(4.2, 0) (4.2, 4.4)}; %Why is this blue colored?
\draw (80,465)node[]{$\frac{p_{N}}{Q_{N}}$}; %What do these mean? (80,465)
\draw (240,465)node[]{$\frac{p_{P}}{Q_{P}}$};
\draw (340,465)node[]{$\frac{p_{P}-p_{N}}{Q_{P}-Q_{N}}$};
\addplot +[Stealth-Stealth,very thick,mark=none] coordinates {(3, 4.2) (4.2, 4.2)};
\draw (365,1055)node[]{$\frac{1}{p_{P}-p_{N}}$};
\addplot[red,mark=*] coordinates {(0.75,0)};
\addplot[red,mark=*] coordinates {(2.25,0)};
\addplot[red,mark=*] coordinates {(3,0)};
\addplot[red,mark=*] coordinates {(3,1.5)};
\addplot[red,mark=*] coordinates {(4.2,0)};
\end{axis}

\end{tikzpicture}


\end{document}

つまり、次のようになります。 ここに画像の説明を入力してください

しかし、私の試みにはいくつか問題があります (上記のコードの対応する行の前に、理解できない問題もコメントしました)。

  1. プロット内のラベルを表示するために使用したノード座標(たとえば\draw (80,465)node[]{$\frac{p_{N}}{Q_{N}}$};)と、ラベルを配置する方法が理解できません。つまり、それは私が望んでいたことを実行し、問題ありません。ただ理解できません。座標(0.75,-1)(現在 の場所$\frac{p_{N}}{Q_{N}}$)を使用することを期待していましたが、機能せず、ラベルが意味をなさない場所に配置されます。
  2. (私はこれに気づきました。black括弧内に追加するだけで機能しました) 一部の線分は自動的に青または茶色に色付けされています。赤い線分はプロットをよりエレガントにするので気に入っていますが、青と茶色の線分を黒に戻す方法がわかりません。
  3. (これもわかりました。xmax をより大きな数値に変更する必要がありました。) 20 行目と 21 行目のラベルは切り取られており、完全には表示されていません。
  4. 左側の垂直線と同じように、右側の垂直線にもチェックマークを付けるにはどうすればよいですか?

答え1

を使用した描画はtikzより簡単です:

\documentclass[tikz, border=5mm]{standalone}
%\usepackage{pgfplots}
\usetikzlibrary{arrows.meta,
                calc,
                intersections
                }
%\pgfplotsset{compat=1.17}

\begin{document}
    \begin{tikzpicture}[y=5mm,
         > = Straight Barb,
arr/.style = {-Stealth, thick},
dot/.style = {circle, fill, minimum size=3pt,
              inner sep=0pt, outer sep=0pt},
every label/.style =  {label distance=2pt, fill=white, 
              inner sep=1pt, font=\footnotesize}
                        ]
%   axis
\draw[arr, name path=A]  
            (-0.2,0) -- (6,0) node[below  left] {$\theta$};
\draw[arr]  (0,-5.0) -- (0,6) node[below right] {Net utility};
\draw[arr]  (5,-5.0) -- (5,6);
\draw[densely dotted, gray]
            (0,-5) grid[xstep=1, ystep=0.8] (6,6);
\coordinate (O) at (0,0);
%
\draw[name path=B] 
            (0,-0.5) -- (5,2*5/3-0.5) node[right]{$N$ (Incumbent)};
\draw[name path=C]
            (0,-4.5) -- (5,2*5-4.5)   node[right]{$P$ (new entrant)};
            
% intersections
\path [name intersections={of=A and B, by=ab}]
    node[dot, label=below:$\frac{p_N\vphantom{-}}{Q_N}$] at (ab) {};
\path [name intersections={of=A and C, by=ac}]
    node[dot, label=below:$\frac{p_P\vphantom{-}}{Q_P}$] at (ac) {};
\draw [name intersections={of=B and C, by=bc}]
    (bc |- O) node[dot, label={[xshift=0.7em]below:$\frac{p_P-p_N}{Q_P - Q_N}$}] {};
%
\coordinate (d) at ($(bc) + (0,4)$);
\coordinate (e) at ($(d)  + (1.5,0)$);
\draw[densely dashed]
    (bc |- O) -- (d) 
    (e) -- (e |- O) node [dot] {};
\draw[<->]  
    ($(d) + (0,-0.5)$)  
        --  node[label={[yshift=-1ex]$\frac{1}{p_P-p_N}$}] {} 
    ($(e) + (0,-0.5)$);
             
    \end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

関連情報