Altair,一个简洁可视化的 Python 库!
想不想轻轻松松就能画出漂亮的图表?那你可得好好认识一下 Altair 这个宝贝了!它是个基于 Vega 和 Vega-Lite 的 Python 数据可视化库,简单易用又灵活,特别适合数据分析和探索性数据分析。今天咱们就来聊聊这个有意思的库,看看它能帮我们搞出啥花样来。
1.
Altair 是个啥玩意儿
Altair 是个声明式的数据可视化库,啥意思呢?就是你告诉它你想要啥样的图,它就给你画出来,不用你手把手地教它怎么画。它的语法简洁明了,让你能专注于描述你想要的图表,而不是纠结于具体怎么实现。
来看个简单的例子:
import altair as alt
import pandas as pd
data = pd.DataFrame({
'x':[1, 2, 3, 4, 5],
'y':[1, 4, 9, 16, 25]
})
chart = alt.Chart(data).mark_line().encode(
x='x',
y='y'
)
chart.show()
就这么几行代码,一个漂亮的折线图就出来了,酷不酷?
2.
Altair 的核心概念
要玩转 Altair,得先搞懂几个核心概念:
数据(Data):Altair 用 Pandas DataFrame 来存储数据,这样处理起来就特别方便。
标记(Mark):这是图表的基本视觉元素,比如点、线、条形等。你想画啥类型的图,就用对应的 mark。
编码(Encoding):这个就是告诉 Altair 怎么把数据映射到图表的视觉属性上,比如 x 轴、y 轴、颜色、大小等。
标度(Scale):决定数据值如何映射到视觉值,比如线性标度、对数标度等。
图表(Chart):这是最终的可视化对象,把所有东西都整合在一起。
3.
来点花样玩玩
光说不练假把式,咱们来整几个有意思的图表。
散点图
import altair as alt
from vega_datasets import data
cars = data.cars()
scatter = alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
).interactive()
scatter.show()
这个图里,我们用点的位置表示马力和油耗,用颜色区分产地,还加了个交互式的工具提示,鼠标悬停就能看到详细信息。
温馨提示:interactive()方法可以让图表支持缩放和平移,玩起来贼带劲!
柱状图
import altair as alt
import pandas as pd
data = pd.DataFrame({
'category':['A', 'B', 'C', 'D', 'E'],
'value':[5, 3, 7, 2, 8]
})
bar = alt.Chart(data).mark_bar().encode(
x='category',
y='value',
color='category'
).properties(
width=300,
height=200
)
bar.show()
这个柱状图简单明了,每个类别一个柱子,高度表示数值,还用了不同的颜色来区分类别。
热力图
热力图用颜色深浅来表示数值大小,特别适合展示矩阵类型的数据。这个例子里我们用了随机生成的数据,你可以换成自己的数据试试。
4.
Altair 的一些骚操作
组合图表:Altair 允许你把多个图表叠加或并排放置,比如:
chart1 + chart2 # 并排 chart1 & chart2 # 上下排列
选择和过滤:你可以添加交互式的选择功能,让用户能够动态地筛选数据:
brush = alt.selection_interval() chart = alt.Chart(data).mark_point().encode( x=’x’, y=’y’, color=alt.condition(brush, ‘color’, alt.value(‘lightgray’)) ).add_selection(brush)
自定义样式:虽然 Altair 的默认样式已经很漂亮了,但你还可以进一步自定义:
chart.configure_axis( gridColor=’#FFFF00’, labelAngle=45, labelFontSize=14 )
好啦,今天的 Altair 介绍就到这里。这个库还有很多有趣的功能等着你去探索呢!记住,数据可视化不仅仅是画图,更重要的是通过直观的方式传达信息。多练习,多尝试,你会发现数据分析的乐趣!
别忘了,编程和数据分析一样,最重要的是动手实践。光看不练是学不会的,赶紧打开你的 Python 编辑器,把这些例子敲一遍,然后用自己的数据试试看。遇到问题别怕,网上搜搜,或者问问 ChatGPT,肯定能解决。加油,相信很快你就能用 Altair 画出漂亮的图表啦!
推 荐 阅 读
领取专属 10元无门槛券
私享最新 技术干货