- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Altair:数据可视化的魔法棒
最近在折腾数据可视化,发现了个宝贝-Altair。这玩意儿可真是给我眼前一亮!说它是数据可视化的魔法棒,一点儿也不过分。
Altair是基于Vega和Vega-Lite的声明式统计可视化库。啥意思呢?就是说,你不用写一堆复杂的代码,只需要告诉它你想要啥,它就能给你画出来。简直就是为懒人量身定做的!
安装和导入
安装Altair简单得很,一行代码就搞定:
???
1pipinstallaltairvega_datasets
安装好了,咱们就把它导入进来:
???
1importaltairasalt
2fromvega_datasetsimportdata
温馨提示:记得也安装vega_datasets,里面有一堆现成的数据集,方便咱们练手。
画个散点图玩玩
废话不多说,直接上手画个散点图:
???
1#加载数据
2cars=data.cars()
3
4#创建散点图
5chart=alt.Chart(cars).mark_point().encode(
6x=Horsepower,
7y=Miles_per_Gallon,
8color=Origin
9)
10
11#显示图表
12chart.show()
这几行代码就能画出一个漂亮的散点图,x轴是马力,y轴是每加仑行驶里程,还用不同颜色区分了车的产地。是不是感觉特别简单?
Altair的核心思想就是用.mark_*()定义图形类型,用.encode()设置各种视觉属性。这种方式特别直观,跟咱们平时说话的方式很像。
交互性:让图表活起来
Altair厉害的地方不止于此,它还能轻松地给图表加上交互性。
比如,咱们给刚才的散点图加个选择功能:
???
1brush=alt.selection_interval()
2
3points=alt.Chart(cars).mark_point().encode(
4x=Horsepower,
5y=Miles_per_Gallon,
6color=alt.condition(brush,Origin,alt.value(lightgray))
7).add_selection(brush)
8
9bars=alt.Chart(cars).mark_bar().encode(
10y=Origin,
11color=Origin,
12x=count(Origin)
13).transform_filter(brush)
14
15pointsbars
这段代码创建了一个可以用鼠标框选的散点图,旁边还有一个会跟着变化的柱状图。看起来高端,其实就是几行代码的事儿。
组合图表:一图胜千言
Altair还允许你轻松地组合多个图表。
举个栗子,咱们来个点线图结合:
???
1base=alt.Chart(cars).encode(x=year:T)
2
3line=base.mark_line().encode(y=mean(Miles_per_Gallon))
4
5points=base.mark_point().encode(
6y=Miles_per_Gallon,
7)
8
9(line+points).properties(width=600)
这段代码画出了汽车平均油耗随时间变化的趋势线,还在上面标出了每个具体数据点。一个图表就能看出这么多信息,是不是很爽?
小结
Altair真的是让数据可视化变得简单又有趣。它的语法直观易懂,创建出来的图表又好看又实用。如果你正在学Python数据分析,我强烈推荐你试试Altair。
不过呢,用Altair也有些注意事项。比如,它处理大数据集时可能会有点慢,因为它是在前端渲染的。还有,如果你想画一些特别复杂的自定义图表,可能还是得用Matplotlib这种底层库。
但是对于大多数日常数据可视化需求,Altair绝对是个不错的选择。它能让你快速地把数据变成漂亮的图表,帮你更好地理解和展示数据。
好了,今天就聊到这儿。
希望这篇文章能让你对Altair有个基本了解。
有啥问题随时问啊,咱们一起学习进步!
????????????????????????????????????????????????????????????????????????????????
您可能关注的文档
- 【技术分享】快速上手TkinterGUI编程,打造自己的计算器!.docx
- 【开发利器】vulture模块:发现Python代码中的“死”代码,让项目更清爽!.docx
- 【时间处理利器】PythonArrow模块,让你告别繁琐的datetime!.docx
- 【提升效率】学会使用aiofiles模块,让Python文件操作更高效!.docx
- 30个Python爬虫的实战项目(附源码).docx
- 124个Python案例,完整源代码!.docx
- Aardio,一个牛逼的python库!.docx
- acos,一个经典的python库!.docx
- akshare,一个超强的Python库!.docx
- Alembic,一个数据库迁移工具!.docx
文档评论(0)