このような直交平面を描くにはどうすればよいでしょうか?

このような直交平面を描くにはどうすればよいでしょうか?

フォーラムでいくつかのトピックを読みましたが、このような図をどのように描くのかまだわかりません

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

画像を挿入するだけでいいことはわかっていますが、自分で描いたほうが良いと思います。また、変数も変更する必要があります(SをTに、XをJに、JをXに変更する必要があります)

これが私がこれまでに達成できたことです

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines=middle, axis equal, title=test, xlabel={Time}, ylabel=.{States}]
\addplot table {
x y
1.7 4.3
0 4.3

1.7 4
2.3 4

2.3 5.2
3.1 5.2

3.1 4.5
3.8 4.5

3.8 3.8
4.7 3.8

4.7 5.5
5.8 5.5
};
\end{axis}
\end{tikzpicture}
\end{document}

「x」軸の目盛りを関数のジャンプ ポイントに関連付けて、「T_0、T_1、... T_n」という名前を付ける必要があります (ジャンプの長さはランダムであり、そうする必要があることに注意してください)。さらに、関数から右側のドットを削除して、左側のドットだけを残す方法を誰か知っていますか?

PS: もちろん、この画像を使用するための参考文献を追加します

みんなに大きなハグを!

答え1

これはおそらく最も柔軟なソリューションではありませんが、かなり簡単だと思います。(後で他の人からより良いソリューションが得られるかもしれません。) また、 は使用せずpgfplots、単純な TikZ のみを使用します。

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

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[
   axis/.style={thick,Latex-Latex},
   xbar/.style={-Circle}
]

\draw [axis] (0,4) node[above] {States} |- (7,0) node[below] {time};

\foreach \y/\txt in {1/J_n=k,2/J_0=i,2.5/J_1=j}
  \node [left=3mm] at (0,\y) {$\{\txt\}$};

\foreach [count=\i] \x/\txt in {0/0,1/1,1.8/2,3.2/n,5/n+1}
{
   \node [below=3mm] (S\i) at (\x,0) {$S_{\txt}$};
   \draw (\x,0) -- ++(0,{ifthenelse(\x>0,-3pt,0)});
}

\foreach \xA/\xB/\y in {0/1/2,1/1.8/2.5,3.2/5/1}
  \draw [xbar] (\xA,\y) -- (\xB,\y);

\path (S3) -- node (dots1) {$\dots$} (S4);
\node [right=2mm] (dots2) at (S5.east) {$\dots$}; 
\node at (0,1.5 -| dots1) {$\dots$};
\node at (0,1 -| dots2) {$\dots$};

\node [below left] at (7,4) {
\begin{tabular}{c @{ : }l}
$(X_n)$ & sojourn time \\
$(J_n)$ & states of the system \\
$(S_n)$ & jump time
\end{tabular}};

\end{tikzpicture}
\end{document}

関連情報