0

I want to plot graph like there (plotting discrete signals) but with dots in values, I mean, dotted values on x without values of y, like "no information" (...). I slightly changed code from this thread but struggling with adding "dots" Below I attach example of what I want and my tex code with its output. I've been searching 1 hour over google, but without results.

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}

This is what I want to plot. enter image description here

This is tex output. enter image description here

This is kinda my drawing on output, describing what I want to plot. enter image description here

Thanks for reading.

Bernard
  • 271,350
Usingless
  • 1
  • 1

2 Answers2

1

How about adding

\path[draw,loosely dotted,thick,black](6,-1)--(19,-1);

inside the axis environment?

ukg
  • 11
1

How your problem can be solve, is shown in @ukg answer (+1), so here are some of topic suggestion haw can be improved )according to my opinion) your MWE:

\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}

enter image description here

Zarko
  • 296,517