使用字符串而不是 x 轴上的值绘制图形

使用字符串而不是 x 轴上的值绘制图形

我试图从原始数据中将一些复杂的图表导入到 latex 中(如第一张图所示),但我不知道如何将其编码到 latex 中。我遇到的主要问题是我无法正确读取数据,以便 latex 正确绘制它。这是因为 x 轴没有实际值,如第二张图片所示。

关于如何实现这一点,您有什么想法吗?谢谢!

我希望我的情节是什么样的

其中一行的数据文件

答案1

我不确定我是否理解了这个问题。但也许你正在寻找类似

\begin{filecontents*}{exampledata.dat}
1 1,1 1.05
2 1,2 1.1
3 text 1.5
4 3,5 0.9
5 3,6 1.3
6 4,2 0.8
\end{filecontents*}

\documentclass[margin=5pt]{standalone} 
\usepackage{pgfplotstable}% loads also pgfplots
\pgfplotsset{compat=1.14} 
\pgfplotstableread[
    display columns/1/.style=string type,
    header=false
  ]{exampledata.dat}{\loadeddata}
\begin{document} 
\begin{tikzpicture} 
  \begin{axis}[
      xtick={0,2,...,100},% row numbers for ticks
      xticklabel={%
        \pgfmathsetmacro\rowindex{int(\tick)}% row index must be an integer
        \pgfplotstablegetelem{\rowindex}{[index]1}\of\loadeddata% get the string from the loaded table
        \pgfplotsretval% print the resulting ticklabel
      },
    ]
    \addplot table [x expr=\coordindex, y index=2]\loadeddata;
  \end{axis}
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

相关内容