如何像 Libreoffice calc 一样在乳胶中绘制数据?

如何像 Libreoffice calc 一样在乳胶中绘制数据?

我想在乳胶中绘制以下数据:

在此处输入图片描述

我已经使用 LinuxMint 上的 libreoffice calc 5 绘制了它,如下所示:

在此处输入图片描述

我想用 latex(tikzpicture) 完成同样的任务?我尝试使用此处给出的代码执行此操作:如何根据表格数据绘制图表?

但失败了。我该怎么做,请帮忙

添加 :

这是一个简单的例子:

我将该文件命名为 data.dat:

P $Q_B$ $Q_C$ $Q_D$
A1  2   6   7
A2  3   65  87
A3  1   45  65
A4  4   54  45
A5  6   56  34
A6  8   34  23
A7  9   45  45
A8  13  23  56
A9  4.6 6   87
A10 4   56  89

使用代码:

\documentclass{article}
 \usepackage{pgfplotstable}
 \usepackage{pgfplots}
\pagestyle{empty}
\begin{document}

 %\pgfplotstabletypeset{data.dat}

 \vspace{1cm}

\begin{tikzpicture}
\begin{axis}[
  xlabel=Q Series,
  ylabel=P Values]
\addplot table [y=P, x=$Q_B$]{data.dat};
\addlegendentry{$Q_B$ series}
\addplot table [y=P, x=$Q_C$]{data.dat};
\addlegendentry{$Q_C$ series}
\addplot table [y=P, x=$Q_D$]{data.dat};
\addlegendentry{$Q_D$ series}
\end{axis}
\end{tikzpicture}

\end{document}

答案1

一些解释

  1. 你的第一行是字符串类型。所以你必须这么说。
  2. 您需要一个浮点数作为 x。因此我添加了一行。
  3. 默认情况下,不会显示所有 xticks。pgfplot 的默认宽度为 240pt。如果要显示所有 xticks,请使用选项xtick=data

这个例子:

\RequirePackage{filecontents} 
\begin{filecontents}{data.dat}
X P $Q_B$ $Q_C$ $Q_D$
1 A1  2   6   7
2 A2  3   65  87
3 A3  1   45  65
4 A4  4   54  45
5 A5  6   56  34
6 A6  8   34  23
7 A7  9   45  45
8 A8  13  23  56
9 A9  4.6 6   87
10 A10 4   56  89
\end{filecontents}

\documentclass{article}
 \usepackage{pgfplotstable}
 \usepackage{pgfplots}
\pagestyle{empty}
\begin{document}

\pgfplotstabletypeset[columns/P/.style={string type}]{data.dat}

 \vspace{1cm}

\begin{tikzpicture}
\begin{axis}[
  xlabel=Q Series,
  ylabel=P Values,
  xticklabels from table={data.dat}{P},xtick=data]
\addplot[blue,thick,mark=square*] table [y=$Q_B$,x=X]{data.dat};
\addlegendentry{$Q_B$ series}
\addplot[red,thick,mark=square*] table [y=$Q_C$,x=X]{data.dat};
\addlegendentry{$Q_C$ series}
\addplot[black,dashed,thick,mark=square*]  table [y=$Q_D$,x=X]{data.dat};
\addlegendentry{$Q_D$ series}
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容