Python Altair 热图中的掩码值
Mask values in Python Altair heatmap plots
我想使用 Altair 绘制带有屏蔽值的热图。这可以通过将掩码数组传递给 seaborn
的 heatmap
方法来完成,但我想使用 Altair 来完成。谢谢!
在 Altair 中,您可以通过从数据集中删除任何您不想显示的数据来应用掩码。例如,这是来自 Altair 文档的 Simple Heatmap 示例的屏蔽版本:
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()})
mask = np.random.rand(len(source)) < 0.9
alt.Chart(source.iloc[mask]).mark_rect().encode(
x='x:O',
y='y:O',
color='z:Q'
)
如果您希望通过图表规范而不是通过预处理步骤进行屏蔽,您可以类似地使用 Filter transform.
过滤行
我想使用 Altair 绘制带有屏蔽值的热图。这可以通过将掩码数组传递给 seaborn
的 heatmap
方法来完成,但我想使用 Altair 来完成。谢谢!
在 Altair 中,您可以通过从数据集中删除任何您不想显示的数据来应用掩码。例如,这是来自 Altair 文档的 Simple Heatmap 示例的屏蔽版本:
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()})
mask = np.random.rand(len(source)) < 0.9
alt.Chart(source.iloc[mask]).mark_rect().encode(
x='x:O',
y='y:O',
color='z:Q'
)
如果您希望通过图表规范而不是通过预处理步骤进行屏蔽,您可以类似地使用 Filter transform.
过滤行