Altair,数据可视化利器Python库!

文摘   2024-12-14 00:03   贵州  

点击“蓝字”  关注我们


大家好!我是安夏学姐。今天要给大家介绍一个特别棒的Python数据可视化库 - Altair。作为一个基于 Vega 和 Vega-Lite 的声明式可视化库,Altair 让我们能够用简洁优雅的语法创建各种精美的统计图表。让我们一起来探索这个强大的工具吧!

## 为什么选择 Altair?

在众多Python可视化库中,我特别喜欢 Altair 的原因有这么几个:

1. **声明式语法**:只需要告诉 Altair 你想要什么,而不是怎么做

2. **优雅的链式API**:代码读起来就像在用自然语言描述图表

3. **强大的交互能力**:轻松实现缩放、平移、筛选等交互功能

4. **完善的统计转换**:内置多种统计计算功能

## 基础环境准备

首先需要安装必要的包:

```python

# 安装必要的包

!pip install altair vega_datasets pandas

然后导入需要的模块:


import altair as alt

import pandas as pd

from vega_datasets import data

创建第一个图表

让我们从一个简单的散点图开始:


# 加载示例数据

cars = data.cars()

# 创建散点图

chart = alt.Chart(cars).mark_circle().encode(

x='Horsepower',

y='Miles_per_Gallon',

color='Origin'

)

小贴士:Altair 的图表构建遵循“图层语法”,通过 mark_xxx() 指定图形类型,encode() 设置数据映射。


添加交互功能

Altair 让添加交互变得超级简单:


# 添加选择功能的散点图

brush = alt.selection_interval()

chart = alt.Chart(cars).mark_circle().encode(

x='Horsepower',

y='Miles_per_Gallon',

color=alt.condition(brush, 'Origin', alt.value('lightgray'))

).add_selection(brush)

组合图表

一个很酷的特性是可以轻松组合多个图表:


# 创建柱状图和折线图的组合

source = data.stocks()

base = alt.Chart(source)

bar = base.mark_bar().encode(

x='date:T',

y='price:Q'

)

line = base.mark_line(color='red').encode(

x='date:T',

y='price:Q'

)

chart = bar + line

注意事项:使用 + 运算符可以叠加图层,使用 & 运算符可以并排显示图表。


高级统计图表

Altair 内置了很多统计转换功能:


# 创建带有置信区间的回归线

chart = alt.Chart(cars).mark_point().encode(

x='Horsepower',

y='Miles_per_Gallon'

).transform_regression(

'Horsepower', 'Miles_per_Gallon',

confidence_interval='level'

)

保存和导出

图表可以保存为多种格式:


# 保存为HTML

chart.save('my_chart.html')

# 保存为PNG(需要安装 selenium)

chart.save('my_chart.png')

实践小任务

给大家留一个小练习:


  1. 尝试用 Altair 画一个带有工具提示的散点图
  2. 实现一个可以用鼠标框选的多图表联动
  3. 创建一个带有分面(facet)的图表

小伙伴们,今天的 Python 学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问安夏学姐我哦。Altair 真的是一个特别优雅的可视化工具,希望你们也能爱上它!祝大家学习愉快,Python 学习节节高!


Would you like me to explain or break down any part of this article?

·end·

—如果喜欢,快分享给你的朋友们吧—

我们一起愉快的玩耍吧




EV电车视点
优质原创公众号
 最新文章