导入
介绍 Altair
了解 Altair 中标记和编码的基本概念。
命令式与声明式库
| 命令式库 | 声明式库 |
|---|---|
| 明确指定构建可视化的步骤 | 描述输出结果 |
| 仅提供工具,需手动执行每一步 | 自动完成所有操作 |
1import altair as alt 2 3alt.Chart(dataset)
1import altair as alt 2 3alt.Chart(dataset).mark_bar()
Altair 中常见的标记类型
| 名称 | 描述 |
|---|---|
| mark_bar() | 条形图 |
| mark_line() | 折线图 |
| mark_point() | 散点图,支持自定义点的形状 |
| mark_circle() | 散点图,使用填充的圆形 |
1import altair as alt 2 3alt.Chart(dataset).mark_bar().encode()
圣诞树数据集
| 年份 | 真实树数量 | 人造树数量 |
|---|---|---|
| 2004 | 27100000 | 9000000 |
| ... | ... | ... |
| 2016 | 27400000 | 18600000 |
1import altair as alt 2import pandas as pd 3import os 4 5df = pd.read_csv('/data/christmas_trees.csv') 6 7chart = alt.Chart(df).mark_line().encode( 8 x = 'Year:O', # O 表示有序数据 9 y = 'RealTree:Q' # Q 表示定量数据 10) 11 12chart.save('chart.html') 13os.system('cat chart.html')
1base = alt.Chart(df).encode(x='Year:O') 2 3chart = alt.layer( 4 base.mark_line(color='blue').encode(y='FakeTree:Q'), 5 base.mark_line(color='red').encode(y='RealTree:Q') 6)
...
熔接操作
1import altair as alt 2import pandas as pd 3import os 4 5df = pd.read_csv('/data/christmas_trees.csv') 6 7data = df.melt('Year') 8chart = alt.Chart(data).mark_line().encode( 9 x='Year', 10 y='value', 11 color='variable' 12) 13 14chart.save('chart.html') 15os.system('cat chart.html')