繪製具有省略/缺失值的離散圖

繪製具有省略/缺失值的離散圖

我想像那裡一樣繪製圖表(繪製離散訊號)但值中有點,我的意思是,x 上的點值沒有 y 值,就像「沒有資訊」(...)。我稍微改變了這個線程的程式碼,但在添加“點”方面遇到了困難,下面我附上了我想要的範例以及我的 tex 程式碼及其輸出。我已經在谷歌上搜尋了1個小時,但沒有結果。

特克斯代碼

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

這就是我想要繪製的。 在此輸入影像描述

這是 tex 輸出。 在此輸入影像描述

這是我對輸出的繪圖,描述了我想要繪製的內容。 在此輸入影像描述

謝謝閱讀。

答案1

新增怎麼樣

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

在軸環境內?

答案2

如何解決你的問題,顯示在@ukg答案(+1)中,所以這裡有一些主題建議可以改進)根據我的意見)你的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}

在此輸入影像描述

相關內容