以耗油量为X轴、马力为Y轴,绘制所有汽车的分布,就得到一张二维图像:
alt.Chart(cars).mark_line().encode( x='Miles_per_Gallon', y='Horsepower' )
给图表上色
前面我们已经学会了绘制二维图像,如果能给不同组的数据分配不同的颜色,就相当于给数据增加了第三个维度。
alt.Chart(cars).mark_point().encode( x='Miles_per_Gallon', y='Horsepower', color='Origin' )
上面的图中,第三个维度“原产国”是一个离散变量。
使用颜色刻度表,我们还能实现对连续变量的上色,比如在上图中加入“加速度”维度,颜色越深表示加速度越大:
alt.Chart(cars).mark_point().encode( x='Miles_per_Gallon', y='Horsepower', color='Acceleration' )
数据的分类与汇总
上面的例子中,我们使用的主要是散点图。实际上,Altair还能方便地对数据进行分类和汇总,绘制统计直方图。
相比其他绘图工具,Altair的特点在于不需要调用其他函数,而是直接在数轴上进行修改。
例如统计不同油耗区间的汽车数量,对X轴使用alt.X(),指定数据和间隔大小,对Y轴使用count()统计数量。
alt.Chart(cars).mark_bar().encode( x=alt.X('Miles_per_Gallon', bin=alt.Bin(maxbins=30)), y='count()' )