如何在 Matlab 中用 TikZ 生成类似 stem() 的茎图?

如何在 Matlab 中用 TikZ 生成类似 stem() 的茎图?

给定文件中存储的一组 (x,y) 坐标,我如何根据这些坐标生成茎图?我希望实现类似于 Matlab 的词干功能

我找到了一个关于如何生成二维图的很好的教程,但要点是插值

答案1

该软件包pgfplots是 gnuplots 和 Matlab 图形的良好替代品。这里有一个例子。它的手册很容易理解。

\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{filecontents*}{datafile.dat}
3.045784        3.415896
3.405784        4.025693
3.785784        4.522530
4.125784        5.538449
4.485784        6.704992
4.805784        6.978939
5.145784        7.113496
5.425784        8.916397
6.065784        9.487712
6.365784        10.876397
6.685784        10.693497
7.025784        11.364131
7.345784        11.442530
7.665784        12.582530
8.005784        13.125693
8.225784        13.738450
8.585784        14.247891
8.865784        14.982530
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[ycomb] plot table[x expr=\coordindex+1, y index=0]{datafile.dat};
\addplot+[ycomb] plot table[x expr=\coordindex+1, y index=1]{datafile.dat};
\end{axis}
\end{tikzpicture}
\end{document}

结果是

在此处输入图片描述

如果你已经使用过 Matlab,matlab2tikz将是一个很好的工具。

相关内容