Tikz作图教程:堆叠柱形图+折线图+误差线

您所在的位置:网站首页 geogebra画折线图 Tikz作图教程:堆叠柱形图+折线图+误差线

Tikz作图教程:堆叠柱形图+折线图+误差线

2024-07-12 04:39| 来源: 网络整理| 查看: 265

今天我们来介绍使用基于Tikz的pgfplots宏包绘制堆叠图、折线图和误差线的组合图形。 在这里插入图片描述

作图分析

本图的难点在于:

堆叠柱形图属于 ybar stacked类型的图,而折线图和误差线作图是另一种类型的图,当坐标系设置中有ybar stacked,键值时,pgfplots会将折线图的数据化成矩形堆叠上去,而不是画成线型图。

解决方案是分别在两个坐标系中作图,pgfplots会将后面的图叠加到先作的图上,这就是“图层”的机制。两个坐标系的设置也是一个难点,它们的设置要相同,这样才不会出现坐标系不重合的情形。

堆叠图的画法在前一篇推文中,已经做了详细介绍,下面只讲误差线的画法。

折线图+误差线的画法

首先解释一些关于误差的概念: 我们通过实验得到的观察值 ( x , y ) (x,y) (x,y)和真值 ( x ′ , y ′ ) (x^\prime,y^\prime) (x′,y′)之间往往有有一个差值,我们常常给出一个误差范围来描述观察值的精确程度。观测值与真值之差的绝对值的上界叫做绝对误差,记作 ϵ \epsilon ϵ. ∣ x − x ′ ∣ ≤ ϵ x , ∣ y − y ∣ ≤ ϵ y |x-x^\prime|\le \epsilon_x, |y-y|\le \epsilon_y ∣x−x′∣≤ϵx​,∣y−y∣≤ϵy​

绝对误差占真值的绝对值的比率的上界则称为相对误差:

∣ x − x ′ ∣ ∣ x ′ ∣ ϵ x , ∣ y − y ′ ∣ ∣ y ′ ∣ ≤ ϵ y \frac{|x-x^\prime|}{|x^\prime|}\epsilon_x, \frac{|y-y^\prime|}{|y^\prime|}\le \epsilon_y ∣x′∣∣x−x′∣​ϵx​,∣y′∣∣y−y′∣​≤ϵy​

如何在图形上呈现观测点的误差呢?以 y y y坐标为例,只需要在观测点 ( x , y ) (x,y) (x,y)处画一条从点 ( x , y − ϵ y ) (x,y-\epsilon_y) (x,y−ϵy​)到点 x , y + ϵ y x,y+\epsilon_y x,y+ϵy​的线段即可。

本图中数据表Total中给出了三列值,第一二列是 ( x , y ) (x,y) (x,y)的取值,而第三列就是 y y y值的绝对误差。

画误差线的代码只有下面一行:

\addplot+[red!90!black,mark=none]plot [ error bars/.cd, y dir=both, y explicit, ] table [y error=error] {yEr.dat}; \end{axis} [red!90!black,mark=none]中选项说明折线的颜色和标记;[error bars/.cd,y dir=both, y explicit,]中第一个键是对数值的设置,y dir=both的含义是显示完整的误差线,另外两种选择:y dir=plus和y dir=minus分别只显示误差线的上半部分和下半部分。y explicit,是为每个观测值指定误差范围,相反地,y fixed=0.1是为所有的观测值指定一个统一的、不变的误差值。 \begin{tikzpicture} \begin{axis}[ legend style={at={(0.5,-0.20)}, anchor=north,legend columns=-1}, ylabel={C(\textup{$\mu$g}\ \textup{g}$^{-1}$)}, symbolic x coords={bDec,Dec, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,aNov}, xtick=data, x tick label style={rotate=45,anchor=east}, xlabel={Month}, ymin=0,ymax=3500, xmin=bDec,xmax=aNov ] \addplot+[red!90!black,mark=none]plot [ error bars/.cd, y dir=both, y explicit, ] table [y error=error] {yEr.dat}; \end{axis} \end{tikzpicture}

合成一张图

将堆叠图和折线+误差线图放在同一个tikzpicture环境中,就能将它们合成为一幅图了,注意要将堆叠图放在前面,折线图+误差线图放在后面,否则会出现折线图被遮挡的意外效果哟!

得到的成图如下: 在这里插入图片描述

学习Tikz作图虽然有一定难度,但是从效果来说还是值得我们花时间去学习的!

【LaTeX微信交流加群:】 1 如果你希望交流LaTeX使用或者TikZ作图或者Beamer制作幻灯片方面的问题,请先添加作者微信:niltxz,然后加入作者的LaTeX+TikZ+Beamer 交流微信群。

扫描识别下面二维码,关注Tikz绘图公众号大哉数学之为用,获取更多教程、模板! 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3