在 altair 可视化中删除标记之间的 space
Removing space between marks in altair visualization
我有一个可视化,我正在尝试使用 altair 增加标记大小并让它们接触(减少标记之间的 space)。有没有办法不使用 'size=' 就可以做到这一点?我想让它适应一个函数而不是硬编码大小,但让它依赖于给定的数据。
这是我目前的代码:
alt.Chart(df).mark_square().encode(
x=alt.X('p1:N'),
y=alt.Y('p2:N'),
color=alt.Color('weight:O', legend=alt.Legend(type='symbol'), scale=alt.Scale(scheme='blues'))
).properties(
height=500,
width=500
)
我当前的输出:
我正在努力实现的预期输出:
size
是 Altair
的属性,然后用于操纵 标记 大小,因此它适用于 point/circle/square
,请检查 altair-viz.github.io/user_guide/marks.html?highlight=mark_square。为了展示如何通过函数使用它,我这样做了:
def plot_mark_squares(df, bandsize=0, size=30, width=500, height=500):
alt.Chart(df).mark_square().encode(
x=alt.X('p1:N'),
y=alt.Y('p2:N'),
color=alt.Color('weight:O', legend=alt.Legend(type='symbol'), scale=alt.Scale(scheme='blues'))
).properties(
height=500,
width=500,
bandsize=bandsize,
size=size
)
plot_mark_squares(df, 0.1, 50)
如果您使用 mark_rect()
而不是 mark_square()
和名义或序数编码,每个标记的大小将自动调整以填充 space。
我有一个可视化,我正在尝试使用 altair 增加标记大小并让它们接触(减少标记之间的 space)。有没有办法不使用 'size=' 就可以做到这一点?我想让它适应一个函数而不是硬编码大小,但让它依赖于给定的数据。
这是我目前的代码:
alt.Chart(df).mark_square().encode(
x=alt.X('p1:N'),
y=alt.Y('p2:N'),
color=alt.Color('weight:O', legend=alt.Legend(type='symbol'), scale=alt.Scale(scheme='blues'))
).properties(
height=500,
width=500
)
我当前的输出:
我正在努力实现的预期输出:
size
是 Altair
的属性,然后用于操纵 标记 大小,因此它适用于 point/circle/square
,请检查 altair-viz.github.io/user_guide/marks.html?highlight=mark_square。为了展示如何通过函数使用它,我这样做了:
def plot_mark_squares(df, bandsize=0, size=30, width=500, height=500):
alt.Chart(df).mark_square().encode(
x=alt.X('p1:N'),
y=alt.Y('p2:N'),
color=alt.Color('weight:O', legend=alt.Legend(type='symbol'), scale=alt.Scale(scheme='blues'))
).properties(
height=500,
width=500,
bandsize=bandsize,
size=size
)
plot_mark_squares(df, 0.1, 50)
如果您使用 mark_rect()
而不是 mark_square()
和名义或序数编码,每个标记的大小将自动调整以填充 space。