Veusz 是一款轻量级绘图软件,之前已经介绍过了:
最近需要用它画堆积面积图,搜了一圈发现好像资料不多,这里我就自己写一个小教程,供有需要的朋友们参考。
引言
先给大家看一下画好的图:
总的来说,就是我们采了一个岩芯样本,并分析了不同深度样品中各种粒径的颗粒物组成。岩芯中的颗粒物可分为三种:黏土、粉砂、砂。岩芯不同深度,这三种组分的含量是不同的。
为了表示这三种组分所占比例随深度的变化,我们绘制了一幅堆积面积图。
操作方法
(0)准备数据
Veusz 不支持读取 Excel 表格,因此建议大家先将数据保存为 UTF-8 编码的 CSV 文件。
(1)导入数据
点击 “Import Data into Veusz” 按钮,然后在弹出窗口中点击 Browsw... 按钮,打开数据文件。

在 File preview 窗口中确认数据文件,确定没问题后,点击 Import 导入数据。

导入数据后会弹出如下窗口,表示数据已经成功导入到软件中。然后点击 Close 即可。
(2)建立图表
Veusz 中默认的画布是横版的,但这里我们需要使用纵版,纵版画布的模板我发在 2 楼了。
大家也可以设计自己喜欢的版式,具体操作可参考本教程,我这里就不展开讲了:
https://www.bilibili.com/video/BV15T4y1u7tu/
回到软件主窗格,点击左侧窗格中的 x 和 y,分别设置 x、y 轴的标题

接下来,选择左侧图层列表中的 graph1,然后点击 Plot bar charts 按钮,插入柱状图。(在 Veusz 中,堆积面积图算作柱状图的一种)

因为我们要绘制三种组分的分布,我们需要建立三个单元。点击刚刚插入的柱状图 bar1,点击 Lengths 文本框右侧的 + 按钮,新建两个 Length 项目。

在 Veusz 中,
- 如果你希望用柱状图的长度表示某一变量的大小,请将其设置为 “Lengths”
- 如果你希望用某一变量决定图中柱的位置,请将其设置为 “Positions”
因为我们要表示含量随深度的分布,因此我们将黏土、粉砂、砂的含量设为 “Lengths”,而将 “深度” 设为 “Positions”。

此外,我们还需要做如下调整:
- 由于这幅图中,表示位置的变量放在 Y 轴,我们需要将
Direction设置为horizontal - 为了让图像以堆积面积图、而不是一个个分离的条带的形式呈现,我们需要将
Mode设置为stacked-area。
(3)添加图例
点击 Key text 旁边的 +,再添加两个项目(因为我们一共有三种组分),并依次输入各项目的名称:

注意:
Key length中各项目名称的顺序务必与Lengths保持一致。
然后,点击Plot key 按钮,添加图例。

在左侧窗格中将刚刚添加的图例元素 key1 拖到最上面,以免其被其他项目遮挡。

(4)美化图表
有句话说得好,“图表是数据的美学映射”。Veusz 默认的配色未必符合您的审美,不过没关系,我们可以简单调整一下。
首先是修改堆积面积图的配色。
- 点击选中 bar1 项目,
- 然后在
Formatting - Veusz窗格中,点击选项卡的第二项, - 点击
Fill style窗格下的Add按钮,再添加两个项目。 - 点击新添加项目右侧的方块按钮,为每个项目设置颜色。

然后是调整图例大小。图例中的色块,默认长度设置是 1 cm,有点大,看起来喧宾夺主。我们可将其适当缩小一些。
- 点击选中 key1 项目,
- 然后在
Formatting - Veusz窗格中,点击选项卡的第一项, - 设置
key length,个人认为0.4 cm比较合适。

以上就是全部操作过程了,接下来保存工程文件,再导出图表为你需要的格式即可。
本文写作比较仓促,其中难免有纰漏之处,欢迎大家批评指正。如有其他问题,也欢迎大家留言讨论。