Python 中的 绘图库 提供了呈现数据的多种方式,可以满足你不同的偏好,如灵活性、布局、易用性,或者特殊的风格。
和其它方式相比,我发现,Altair 提供的是一种不同的解决方案,且总体而言使用起来更为简单。得益于声明式的绘图语言 Vega ,Altair 拥有一套优雅的接口,可以直接定义要绘的图应该是什么样子,而不是通过写一大堆循环和条件判断去一步步构建。
绘图流程
我通过绘制同一个多柱状图比较了多个 Python 绘图库的差异。正式开始之前,你需要将你的 Python 环境调整到能运行下面代码的状态。具体就是:
安装最新版的 Python( Linux 、 Mac 和 Windows 系统下的安装方法)
确认该版本 Python 可以运行本教程所使用的库
演示用数据可从网络下载,并且可以用 pandas 直接导入:
import pandas as pd
df = pd.read_csv(‘https://anvil.works/blog/img/plotting-in-python/uk-election-results.csv’)
准备开始吧。为了做个比较,先看下面这个用 Matplotlib 做的图:
Python 下使用 Altair 数据制图 | Linux 中国
Matplotlib UK election results
使用 Matplotlib 需要 16 行代码,图柱的位置需要自己计算。
使用 Altair 绘制相似的图,代码如下:
import altair as alt
chart = alt.Chart(df).mark_bar().encode(
x='party',
y=