一位叫Feng的网友提供了一张目标图,提问下面这种误差棒柱状图怎么画?你是否会认为,这么简单的柱图不会画?其实,再简单的图也是有玄机的!上图很酷,是锥形图?
谭编说上图还是:柱状图!带棒的!
图1 目标图
(由于没联系上Feng,暂时不知图1的文献出处)
今天,谭编为大家详细介绍2D以及3D误差棒柱状图的绘制技巧。
我们以4个样品的两组不同数量级的Y数据及Yerr误差数据为例,数据表包含一列共用的X列(Samples),以及Y、ER、留空三列数据。
图2 数据表的准备
重点:这里为什么做图2所示的数据准备?
请各位注意以下几个细节。
1. 为什么要“留空”?
图3 “双Y轴图”绘制的遮蔽问题及其解决方法
我们利用“双Y轴图”工具自动绘制XYY两图层柱状图,出现了柱图遮蔽问题(图3的FigA),即使采用调整柱间距得到的图(图3的FigB)效果不甚好。
解决方案:留空法
双Y轴图是绑定X轴的两个图层的XYY类型的2D图,既然是X轴联动(关联),修改每一层的X轴显示范围让柱子错位显示,是行不通的。因此,谭编提出采用留空法。
留空法是在某一图层的数据表中空置(设置数据为0)一列,那么在绘制的图像中,留空列的柱高为0(显示为空白),这样就实现了为另一图层的柱子留空)
2. 为什么要在误差数据上设置以下Y误差?
多数情况下,当数据表的结构不合理时,某些绘图功能的设置是找不到的。
例如我们利用图3的数据,虽然我们提供了ER1、ER2标准差,当我们选中数据后,选用绘图工具时,就是找不到误差棒的相关工具,折线图、二维的三维柱状图的工具按钮及菜单中都没有误差棒的。
所以,就有不少网友困惑于误差棒了!
原因:我们在表格中虽然准备了并且表明了误差数据,但是Origin软件不知道啊!我们需要告诉Origin软件,让她知道哪一列是X误差,哪一列是Y误差。
设置步骤:点击误差数据列标头选中误差数据,右键选择Set as再选择Y error(Y误差)。具体步骤见前面的图2。
第一步:绘制留空的柱状图
拖动表列(XY和留空1)选中三列数据,然后点击下方的柱状图按钮,即可绘制出预留了空位的柱状图。具体步骤如图4所示。
图4 留空的柱图
第二步:添加图层绘制第二组Y数据
在已经绘制出的图的左上角 1 的右边附近空白区域点击右键,选择“New Layer(Axes)”,再选择“Right-Y(linked X scale and Dimension”,可以得到第二个空白图层。
图5 新建关联X轴的图层
第三步:拖入法绘图
首先,点击图层左上角的 2 激活第二图层;然后拖选两列数据;再移动鼠标直到鼠标图标变为三个图层的形状(图6);最后拖入图层释放,即可完成第二图层的绘图(注意这样得到的是线图,点击一下工具栏中柱状图的图标,将线图改为柱状图)。
图6 拖入法绘图
通过上述步骤,得到图7的效果。
图7 草图中出现了“黑猪”
图7这是咋地了?为啥出现“黑猪”?
这是因为留空柱子(黑柱)的右Y轴最小刻度为零下,需要设置右Y的下限为0或0以上(这里设置0.2)。修改并美化。
第四步:美化设置
绘图目标:
(1)同一样品同色:要将每个样品(横轴)的两组数据(两根柱子)的颜色设置同色;
(2)同组数据图例一致:每个样品的两组数据(左Y、右Y)用不同填充样式区分。左Y数据不填充(空框),右Y数据斜纹填充。
具体的设置步骤如图8所示,首先选择图层1(Layer1)下方的第一条(绑定状态的参数都是在第一条目中设置),然后点击图层,设置“边框”-自定义-按点-增量开始于,最后确定。Origin2018已经有很好的配色方案供我们选择,这里设置每个点(不同样品)的颜色不同,可以设置从某种配色方案的某种颜色开始的起始颜色(谭编称之为“起色”)。
图8 配色方案中按点设置不同的颜色
按照同样的方法对图层2进行设置,注意设置边框颜色的配色方案和增量开始色都要与图层1的设置一致。另外,对于图层2还需要设置“填充”的配色方案和增量起色,都要与边框的配色与起色一致。最终得到相同颜色不同填充样式的双Y轴柱状图(图9)。
图9 同色异样的双Y轴柱状图
图9的图例,谭编这样安排是用心的。目标图的图例用了两个相反的箭头指向了左Y和右Y,表示图例分别是谁的。如果使用图9的图例,指示效果更佳。一方面用位置区分,一个放在左Y轴附近,一个放在右Y轴附近;另一方面,图例进行了批注,如Oads/Olatt和J分别是左Y和右Y的轴标题。当然,可以设置不同的坐标轴(轴线、刻度值、轴标题)颜色,然后设置图例文本的颜色与之对应,也可以从视觉上更明显地区分彼此。
第五步:2D柱状误差图
首先,确保误差数据列被Set as Y error,并且紧跟相应数据列之后;然后点击图层序号 1 或 2 ;最后将yEr±数据列拖入绘图。
图10 2D柱状误差图
效果怎么样?哦,对了,请大家注意删除图例中的“留空1”。另外,误差棒太大是因为我随便输入的误差,别介意啊。
3D柱状误差图,简单!具体步骤不说了!不信请看图11~12。
图11 3D柱状误差图的绘制
得到的草图如下,但需要美化。
图12 3D柱状误差图的设置
由于本文数据的Y轴代表的变量不同、数量级也不同,不适合做3D柱状图,所以就不费功夫去美化它了,相信各位能参考『编辑之谭』的这篇文章,在各种绘图中灵活应用,绘制出更加精彩的绘图(图13)。
原创文章,作者:菜菜欧尼酱,如若转载,请注明来源华算科技,注明出处:https://www.v-suan.com/index.php/2023/11/13/e1aa98c370/