QGIS如何绘制多图

数据准备

这是一份英国大曼彻斯特地区的数据,里面包含了教育、收入、人口密度、绿地比例、城市比例等数据,我们准备把这些数据在地图上呈现出来,为此,我们需要做在地图中绘制6幅子图,这里的子图类似于matplotlib中的subplot,就是在一幅大的地图中又采用多幅小地图来进行表现。

图层配置

图层分组

图层分组这个设置的作用,可以说是类似于ArcGIS中的DataFrame,通过分组Group来管理不同图层的显示,这里需要做6幅子图,所以将地图分为6个组,可以通过add group 的方式,新建6个分组,然后把数据加载到不同的组别上。

符号分级

符号分级显示是每一GISer最基本的技能,这里就不多赘述,一般通过【properties】->【symbology】即可对图层符号进行分级显示

新建地图布局

ArcGIS是通过布局视图的方式进行地图的绘制,而QGIS则需要通过新建一个地图布局的方式来进行地图的绘制,在这个布局容器的基础上可以添加地图、比例尺、图例、指北针、文本、表格、甚至是图片。

PS: 新版的ArcGIS Pro也是基于地图布局的方式进行地理绘图的

具体的构建方式如下,首先在QGIS的主界面上点击【 project 】->【new print layout】 即可新建一个布局容器

Guider 设置辅助线

在进行地图绘制之前呢,可以对地图提前设置布局,绘制参考线,后面添加地图、图例过程中就不用担心对齐的问题了

add map 添加地图

接下来,就来到了绘制地图最重要的一步,添加地图,通过【add map 】可以将地图子图添加到布局容器中,添加完毕后,通过地图的【item properties】可以设置其属性,调整地图的显示,可以通过【Scale】固定显示比例尺,通过【Position and Size 】-> 【width】、【 height】 规定地图的高度和宽度,【Frame】设置地图的外框显示等。

设置完了上述的属性后,我们需要对需要显示的图层进行设置,通过【Layer】 ->【Lock Layer】、【Lock styles for layers】来锁定我们的图层,当我们选择了这个选项后,无论我们在主窗口中如何调整图层的显示,布局容器中的图层均不在产生变化。

这样,我们需要显示哪个图层组,就先把哪个图层组在主窗口中打钩选中显示出来,然后通过添加地图项的方式加载到布局容器中并锁定图层,这样每个图层组就和每一个地图子图对应起来。这样每个地图子图中的地图不会随着主窗口显示的变化而变化,从而达到制图的目的。

add legend 添加图例

首先,通过【add legend】即可向布局容器中添加图例项,但是这样添加的图例项是包含所有组别的图例,在视图中会占据很大的面积,我们每一个子图只需要其对应组别的图例即可,因此,我们通过取消【auto update】使得我们可以自由的删除、编辑不需要的图例项。

接下来,对图例格式进行设置,一般设置label的字体,字号,项目之间的间距,符号的高度、宽度即可

接下里,修饰图例,删除图例中不需要的部分,隐藏标题和组名,右键点击组名或标题名,选择【 hidden】,完成图例的设置

最后,我们可以复制已经设置好的图例应用到其余图层

add North Arrow 添加指北针

通过【add North Arrow】添加指北针到布局容器中,当然,其他的如比例尺、标题文本等也可以进行添加,这里就不一一演示添加。

导出地图

将图层调整完毕后,可以通过Layout Export to PDF /Export to Image将图片导出

注:出于数据保密的原因,地图的各子图没有设置标题

参考

  1. https://www.youtube.com/watch?v=b14x69LqTZA&ab_channel=WiseGIS
  2. https://www.youtube.com/watch?v=r2EOUH5wsMQ&ab_channel=burdGIS
  3. https://www.youtube.com/watch?v=LB0OsU8cni8&ab_channel=WiseGIS

QGIS打印布局中绘制多个子图的更多相关文章

  1. python使用matplotlib在一个图形中绘制多个子图以及一个子图中绘制多条动态折线问题

    在讲解绘制多个子图之前先简单了解一下使用matplotlib绘制一个图,导入绘图所需库matplotlib并创建一个等间隔的列表x,将[0,2*pi]等分为50等份,绘制函数sin(x).当没有给定x ...

  2. android:布局、绘制、内存泄露、响应速度、listview和bitmap、线程优化以及一些优化的建议!

    1.布局优化 首先删除布局中无用的控件和层级,其次有选择地使用性能较低的viewgroup,比如布局中既可以使用RelativeLayout和LinearLayout,那我们就采用LinearLayo ...

  3. CSharpGL(6)在OpenGL中绘制UI元素

    CSharpGL(6)在OpenGL中绘制UI元素 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...

  4. 响应式布局中的CSS相对量

    一个响应式布局,要能够根据设备屏幕尺寸的改变,动态的调整页面内容,展现不同的设计风格. 在进行响应式的 CSS 代码编写过程中,经常会用到一些相对尺寸,以达到相对定位的目的.例如,常见的响应式布局中需 ...

  5. C# 如何在PDF中绘制不同风格类型的文本

    通过对控件Spire.PDF的测试,我们可以创建PDF文件并向文档中绘制文本.图片.表格.图形等内容,其中,对于绘制文本这一部分,Spire.PDF提供了三种字体类型来绘制文本,即: Standard ...

  6. Android为TV端助力 布局、绘制、内存泄露、响应速度、listview和bitmap、线程优化以及一些优化的建议!

    1.布局优化 首先删除布局中无用的控件和层级,其次有选择地使用性能较低的viewgroup,比如布局中既可以使用RelativeLayout和LinearLayout,那我们就采用LinearLayo ...

  7. Android面试收集录12 View测量、布局及绘制原理

    一.View绘制的流程框架 View的绘制是从上往下一层层迭代下来的.DecorView-->ViewGroup(--->ViewGroup)-->View ,按照这个流程从上往下, ...

  8. IOS自己主动布局中的浮动布局(6)----MyFloatLayout横空出世

    https://github.com/youngsoft/MyLinearLayout 前言 在MyLayout的6大布局中,每种布局都有不同的应用场景. 且每种布局的子视图的约束机制不一样:线性布局 ...

  9. Android_(控件)使用自定义控件在屏幕中绘制一条虚线

    在Android屏幕中绘制虚线,最通用的是自定义控件DashedLine,再将自定义控件放入xml布局中 运行截图: 程序结构 package com.example.asus.gary_042; i ...

随机推荐

  1. 在微信小程序中使用阿里图标库Iconfont

    首先想要使用图标,只用上图的五个iconfont相关文件就可以了.(下下来的文件iconfont.wxss开始是.css的后缀,手动改成.wxss就可以在小程序中使用) 然后在app.wxss中引入i ...

  2. sql把一个字段中的特定字符替换成其他字符

    将'0654879'替换成'0754879' UPDATE dbo.SG_Functionality SET FunctionalityCode=REPLACE(FunctionalityCode,' ...

  3. LVM与磁盘配额

    LVM与磁盘配额 目录 一.LVM概述 1.1.LVM 概述 1.2.LVM机制的基本概念 二.LVM 管理命令 2.1.主要命令 2.2.LVM命令详解 三.设置磁盘配额 3.1.磁盘配额的概述 3 ...

  4. Golang编写Windows动态链接库(DLL)及C调用范例

    一.准备. 1.GoLang在1.10版本之后开始支持编译windows动态链接库,可以打开命令行工具使用go version 查看自己的go版本. 2.你的电脑上需要gcc,如果没有的话[点击这里] ...

  5. hdu1232 并查集总结

    前言 在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中. 这一类问题其特点是看似并 ...

  6. 理解vertical-align

    vertical-align 支持的属性值及组成 inherit 线类baseline, top, middle, bottom 文本类text-top, text-bottom 上标下标类sub, ...

  7. ACM、OI、OJ题目常用代码模板

    仓库源码地址:https://github.com/richenyunqi/code-templates 本仓库主要提供 ACM.OI.OJ.PAT.CSP 题目中常见算法和数据结构的实现,它们都以基 ...

  8. Qt之先用了再说系列-信号与槽

    QT之信号与槽 简介:信号与槽可是Qt最大成功点,也是整个Qt基本核心机制,如果不会信号与槽,将无法领略Qt之美: 1.信号与槽函数原型: QObject::connect(const QObject ...

  9. css题库(含答案)

    tip:<为< 单选题 1.页面上的div标签,其HTML结构如下: <div id="father"> <p class="son&quo ...

  10. Gym - 101128E Wooden Signs DP

    题目大意: 一共n块木板,前两个数给出最底下木块的两个端点,后面n-1个数给出第i层的一个固定端点,问你木块的所有放置情况. 分析: 状态: d[i][j]表示第i个木块,第i-1块木板的未固定端点为 ...