点击上方"蓝字"关注我们
Python大数据分析
记录 分享 成长
添加微信号" CNFeffery "加入技术交流群 后台回复"温室气体"本文完整代码
❝本文完整代码已上传至我的
❞Github
仓库https://github.com/CNFeffery/FefferyViz
1 简介
交通是产生温室气体排放的主要来源之一,而本期作为*(在模仿中精进数据可视化)*系列的第二期,将带大家以纯Python
的方式对加拿大米西索加城市温室气体排放研究报告中的如图1所示的可视化作品进行复刻,它对温室气体排放来源中,交通方面的各排放源排放比例进行可视化:
2.1 观察原作品
其实原作品整体构图上比较直观,主要由两部分组成:
- 「1 左侧柱状图部分」
左侧的柱状图无需多言,就是一个简单的堆叠柱状图,利用matplotlib
构建起来非常方便。
- 「2 右侧类桑基图部分」
到了右侧,也是这张图中最有设计感的部分,它用类似桑基图的方式,将左图中交通下属的分类温室气体排放比例构成进行可视化,这也是本文的重点部分,我们可以利用matplotlib
加上一点点简单的数学知识来复刻它。
2.2 开始动手!
在洞悉了原作品的主要视觉元素之后,接下来我们开始动手复刻它。
2.2.1 左侧柱状图部分
对于左侧的堆叠柱状图,其本质其实是两个堆叠起来的矩形,因此我们可以使用matplotlib.patches
下的Rectangle
来创建矩形。
其使用方法非常简单,只需要指定矩形「左下角坐标」,再填写矩形对应的「宽」与「高」即可自由创建矩形:
我们参考原作品的背景色,以及左侧矩形对应y轴的真实数值,先把左侧的「堆叠柱状图」和「图床背景色」做好:
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
# 创建图床