
Ich möchte ein Diagramm wie dort zeichnen (Aufzeichnen diskreter Signale), aber mit Punkten in den Werten, ich meine, gepunktete Werte bei x ohne Werte bei y, wie „keine Informationen“ (...). Ich habe den Code aus diesem Thread leicht geändert, aber es fällt mir schwer, „Punkte“ hinzuzufügen. Unten füge ich ein Beispiel dessen an, was ich will, und meinen Tex-Code mit seiner Ausgabe. Ich habe eine Stunde lang bei Google gesucht, aber ohne Ergebnisse.
Tex-Code
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\title{}
\author{}
\date{}
\begin{document}
\begin{filecontents}{data.dat}
n xn
0 10
1 9
2 5
3 2
4 -3
5 -
20 8
21 3
\end{filecontents}
\begin{tikzpicture}
\begin{axis}
[%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
scale=1.3,
axis x line=middle,
axis y line=middle,
every axis x label={at={(current axis.right of origin)},anchor=north west},
every axis y label={at={(current axis.above origin)},anchor= north west},
every axis plot post/.style={mark options={fill=black}},
xmin=0,
xmax=20,
xtick={0,1, 2, 3,4,5,20, 21},
xticklabels={0,1, 2, 3, 4, .., 20, 21},
xlabel={$\boldsymbol{x}$},
ylabel={$\boldsymbol{z[n]}$},
ytick={-5, 10},
ymin=-5,
ymax=10,
]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addplot+[ycomb,black, very thick] table [x={n}, y={xn}] {data.dat};
\end{axis}
\end{tikzpicture}
\end{document}
Dies ist, was ich planen möchte.
Dies ist sozusagen meine Zeichnung auf der Ausgabe, die beschreibt, was ich darstellen möchte.
Danke fürs Lesen.
Antwort1
Wie wäre es mit dem Hinzufügen
\path[draw,loosely dotted,thick,black](6,-1)--(19,-1);
innerhalb der Achsenumgebung?
Antwort2
Wie Ihr Problem gelöst werden kann, wird in der Antwort von @ukg (+1) gezeigt. Hier sind daher einige Themenvorschläge, wie Ihr MWE (meiner Meinung nach) verbessert werden kann:
\RequirePackage{filecontents}
\begin{filecontents}{data.dat}
n xn
0 10
1 9
2 5
3 2
4 -3
12 -3
13 2
14 5
20 8
21 3
25 nan
\end{filecontents}
\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[x=4mm,
axis lines=middle,
axis on top,
xlabel=$x$,
ylabel=${z[n]}$,
label style={anchor=north east},
xtick=data,
tick label style = {fill=white, inner sep=2pt, font=\scriptsize},
extra x ticks = {0},
ymin=-5, ymax=10,
enlarge x limits={0.1},
enlarge y limits={0.2,upper},
every axis plot post/.style={very thick},
]
\addplot [ycomb, mark=*] table [x=n, y=xn] {zdata.dat};
\draw[very thick, dash pattern=on 1pt off 3pt,
transform canvas={yshift=-1.5ex}
]
(6,0) -- (10,0) % 6: position of 6th tick,
% 10: position od 10th tick
(16,0) -- (18,0);
\end{axis}
\end{tikzpicture}
\end{document}