我有一个包含数百万个数据点的图(实时传感器,50 个样本/秒,多个通道,5 小时)。为了减小文档的文件大小,我在 MATLAB 中使用折线图制作了一个裸 PNG,并\addplot graphics
在 pgfplots 中使用它来添加与我的文档格式和其他 pgfplots 图形一致的轴线和标签。
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmax=330, xtick={0,60,...,330}, xlabel={Time (min)}, ylabel=g, enlargelimits=false, axis on top]
\addplot graphics [xmin=0, xmax=330, ymin=-200, ymax=800] {from_matlab.png};
\end{axis}
\end{tikzpicture}
\end{document}
效果很好
现在我想添加一个图例。我宁愿使用 tikz 和 pgfplots 创建它,以保持一致的格式,并将其作为可搜索的文本数据保存在我的文档中。
我怎样才能让 pgfplots 知道这个仅包含单个对象的轴实际上需要三个条目,并且这些是特定颜色的线系列?
答案1
pgfplots 手册提到,\addlegendimage
它可以直接控制后续图例条目的样式。选项没有很好地记录下来,但测试表明可以接受颜色,并且图例样式默认为线型。
\addlegendimage{blue} \addlegendentry{Load Cell \#2};
\addlegendimage{green!60!black} \addlegendentry{Load Cell \#3};
\addlegendimage{red} \addlegendentry{Load Cell \#4};
此代码多于\addplot graphics
,因为没有与图形元素本身配对的图例条目。要在添加图形后设置图例,应提供forget plot
on \addplot
(而不是 on !)作为选项,使图例不包含与图形相对应的条目,并将其样式设置为黑graphics
线。