以下是使用Altair库和pandas数据框创建分段热度图的示例代码。为了更好地展示 Altair 基础知识,我们将使用美国州际公路数据集。该数据集提供了美国州之间的距离,以及两个州之间的道路数量和质量等信息。
首先,我们需要导入需要的库和数据集:
import altair as alt
import pandas as pd
# 导入数据集
url = 'https://raw.githubusercontent.com/vega/vega-datasets/master/data/driving/distances.json'
states = pd.read_json(url)
# 查看前5条数据
states.head()
接下来,我们可以使用Altair创建一个基本的热度图,颜色映射为连续的颜色:
heatmap = alt.Chart(states).mark_rect().encode(
x='origin:N',
y='destination:N',
color='miles:Q'
)
heatmap
不过,我们可以使用 alt.Bin 和 alt.Color 等方法将颜色映射为离散或分段颜色,代码如下:
heatmap = alt.Chart(states).mark_rect().encode(
x='origin:N',
y='destination:N',
color=alt.Color('miles:Q', scale=alt.Scale(scheme='viridis', bins=6),
legend=alt.Legend(title='Miles'))
)
heatmap
我们可以在 alt.Scale 中选择不同的调色板,并使用 bins 将颜色映射为离散的或分段的颜色。
执行上述代码后,将生成一个美观的分段热度图。