Altair:让数据可视化变得超简单的Python神器

文摘   2024-10-23 19:52   黑龙江  

点击蓝字

关注我们


Altair:让数据可视化变得超简单的Python神器

最近我在捣鼓数据可视化,发现了个宝贝 - Altair。这玩意儿简直是数据可视化界的一匹黑马啊!它基于 Vega 和 Vega- Lite,用起来贼简单,还能搞出漂亮得不得了的图表。我觉得吧,要是你也在用Python搞数据分析,那不学Altair简直就是亏大发了!


PART01

Altair是啥玩意儿?


Altair说白了就是个Python库,专门用来画图的。它不像其他那些画图的库那么复杂,用的是一种叫“ 声明式”的方法。啥意思呢?就是你只要告诉它你想要啥样的图,剩下的事儿它自己就搞定了。你不用管那些烦人的细节,比如坐标轴啊,图例啊啥的,Altair全帮你搞定。



import altair as altimport pandas as pd# 假设我们有个数据框data = pd.DataFrame({    'x': [1, 2, 3, 4, 5],    'y': [1, 4, 9, 16, 25]})# 画个简单的散点图chart = alt.Chart(data).mark_circle().encode(    x='x',    y='y')chart.save('scatter_plot.html')


瞧见没?就这么几行代码,一个漂亮的散点图就出来了。是不是特别简单?


PART02

Altair的独门绝技


Altair最牛逼的地方在于它的“ 图层 ”概念。你可以像叠积木一样,把不同的图层叠在一起,整出各种复杂的图表来。



base = alt.Chart(data).encode(x='x')line = base.mark_line()points = base.mark_circle()(line + points).save('line_with_points.html')


这段代码就画出了一个带点的线图。你看,我们先定义了一个基础图层,然后分别加了线和点,最后把它们加在一起。这种方法超级灵活,你想画啥都行。


温馨提示:Altair生成的是交互式图表,所以最好保存成HTML格式,这样你就能在浏览器里拖拽缩放啥的了。


PART03

Altair的配色有多骚?


说实话,Altair的默认配色就挺好看的。但是如果你想整点特别的,它也不会让你失望。    



chart = alt.Chart(data).mark_bar().encode(    x='x',    y='y',    color=alt.Color('y', scale=alt.Scale(scheme='viridis')))chart.save('colorful_bar.html')


这段代码用了 ‘viridis’ 配色方案,画出来的柱状图颜色从深蓝到黄色渐变,看着就让人觉得高大上。


PART04

交互功能,不服来战!


Altair的交互功能是真的牛。你可以轻松地加上缩放、平移、选择这些功能,让你的图表变得活灵活现的。    



chart = alt.Chart(data).mark_circle().encode(    x='x',    y='y').interactive()chart.save('interactive_scatter.html')


就这么简单,加个 .interactive() 你的图表就能缩放平移了。是不是很神奇?


PART05

数据转换,小菜一碟


有时候你的原始数据可能不太适合直接画图。别慌,Altair自带了一堆数据转换的功能,让你的数据变得更好画图。    



chart = alt.Chart(data).transform_fold(    ['y', 'x'],    as_=['variable', 'value']).mark_bar().encode(    x='variable:N',    y='average(value):Q')chart.save('transformed_bar.html')


这段代码把长数据变成了宽数据,然后画了个柱状图。Altair还有很多其他的转换功能,比如filter、calculate啥的,你可以慢慢探索。


PART06

小结一下


Altair虽然看起来简单,但是功能真的很强大。它能画出各种各样的图表,从简单的散点图到复杂的多图层交互式图表都不在话下。而且最重要的是,用起来真的很简单,你不用记那么多复杂的参数和设置。


如果你想学数据可视化,我强烈推荐你试试Altair。它不仅能让你快速画出漂亮的图表,还能帮你理解数据可视化的基本原理。相信我,用了Altair,你会发现数据可视化原来这么有意思!


好了,今天就聊到这儿吧。希望这篇文章能帮你入门Altair。记住,实践出真知,多试试多玩玩,你会发现更多Altair的妙用的!





乐意说事
阅他人故事,品百味人生,坚持日更,加油!
 最新文章