latex: pgfplots多个图分组显示

参考:How can a title be placed for a group of pgfplots?,
pgfplots手册中5.7节Grouping plots介绍
pgfplots绘图例子和参考:texample for tikz,tex绘图问题解答,如何在论文中画出漂亮的插图?

问题来源:当使用latex写文档时,通常会画各种图,绘图的方式非常多,比如可以用excel绘好,可用专业的绘图软件origin,以及各种可视化图形编辑工具,这些工具有个共同的特点就是需要绘制好图后,需要将图转换为pdf格式,然后再在latex中引用,缺点如下:

  • 需要频繁生成pdf图片并使用acrobat裁剪该图片;
  • 图的规格,线条的粗细,字体的大小等很难统一;
  • 以后发现图出现问题,或数据需要修改,那么得重复第一步骤,比较耗费时间;

对于追求图片完美和有强迫症的来说,使用pgfplots可解决这些问题,因为它是基于源代码绘制的,只需修改代码即可。

现在想分组显示一组图,怎么做呢?

解决方法:
首先引入第三方库

\usepackage{pgfplots} % used for showing all the figure
\pgfplotsset{ compat=1.5 } 
\usepgfplotslibrary{groupplots}

其次使用groupplot即可

\begin{tikzpicture} \begin{groupplot}[group style={group size=2 by 2},height=3cm,width=3cm] \nextgroupplot[title=One,xlabel={$x$}] \addplot[blue] table {test.dat};
		\nextgroupplot[title=Two]
		\addplot coordinates {(0,2) (1,1) (2,0)};
		\nextgroupplot[]
		\addplot coordinates {(0,2) (1,1) (2,1)};
		\nextgroupplot[group/empty plot] %显示了一个空图
	\end{groupplot} \node (title) at ($(group c1r1.center)!0.5!(group c2r1.center)+(0,2cm)$) {THE Title};
\end{tikzpicture}

其效果如下:

你可能感兴趣的:(分组,绘图,latex,pgfplots)