是否可以将黑色网格线添加到 python Altair 热图?

Is it possible to add black grid lines to python Altair Heatmap plots?

是否可以将黑色网格线添加到 Altair 热图中?

我知道可以使用 scale.bandPaddingInner 在单元格之间添加间距,我在想也许可以用黑色为该间距着色?

我想要的是这样的:Heatmap with Black Grid lines

是的,您可以使用 rect 标记的 stroke 属性 来完成此操作。从 Altair 的文档中改编 heatmap example

import altair as alt
import numpy as np
import pandas as pd

# Compute x^2 + y^2 across a 2D grid
x, y = np.meshgrid(range(-5, 5), range(-5, 5))
z = x ** 2 + y ** 2

# Convert this grid to columnar data expected by Altair
source = pd.DataFrame({'x': x.ravel(),
                     'y': y.ravel(),
                     'z': z.ravel()})

alt.Chart(source).mark_rect(stroke='black', strokeWidth=2).encode(
    x='x:O',
    y='y:O',
    color='z:Q'
)