黄土传说剧情线
Legends of LOESS plotted line
以下示例数据集用于说明有关格式设置的问题
import altair as alt
from vega_datasets import data
source = data.cars()
x = alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
)
x + x.transform_loess('Horsepower', 'Miles_per_Gallon').mark_line()
如何更改右侧颜色图例中“未定义”LOESS绘制线的名称;
有没有办法只删除 LOESS 标绘线的图例,同时保留“欧洲、日本和美国”;
我似乎无法为 mark_line()
找到合适的“标记 属性”标志,我无法通过 legend=None
PS:由于这张图表需要与Alt.vconcat/hconcat
结合,我认为它需要发生在基本水平;
首先要知道图例来自编码:如果您不希望某个字段出现在颜色图例中,请不要为其指定颜色编码。如果您确实希望它出现,请给它一个颜色编码,以反映您想要在图例中显示的内容
当您编写类似 x.transform_loess(...)
的内容时,生成的图表会继承 x
中定义的所有编码。 LOESS 转换生成一个新的数据集,它只包含目标变量,因此 color='Origin'
编码指向一个未定义的列。
如果您希望未定义的列不出现在图例中,请避免对转换后的图表进行颜色编码:
x = alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower',
y='Miles_per_Gallon',
)
x.encode(color='Origin') + x.transform_loess('Horsepower', 'Miles_per_Gallon').mark_line()
另一方面,如果您希望图例表达其他内容,您将需要一个用于颜色编码的列,您可以使用计算转换创建该列:
x = alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin'
)
x + x.transform_loess(
'Horsepower', 'Miles_per_Gallon'
).transform_calculate(
Origin='" LOESS"'
).mark_line()
以下示例数据集用于说明有关格式设置的问题
import altair as alt
from vega_datasets import data
source = data.cars()
x = alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
)
x + x.transform_loess('Horsepower', 'Miles_per_Gallon').mark_line()
如何更改右侧颜色图例中“未定义”LOESS绘制线的名称;
有没有办法只删除 LOESS 标绘线的图例,同时保留“欧洲、日本和美国”;
我似乎无法为 mark_line()
找到合适的“标记 属性”标志,我无法通过 legend=None
PS:由于这张图表需要与Alt.vconcat/hconcat
结合,我认为它需要发生在基本水平;
首先要知道图例来自编码:如果您不希望某个字段出现在颜色图例中,请不要为其指定颜色编码。如果您确实希望它出现,请给它一个颜色编码,以反映您想要在图例中显示的内容
当您编写类似 x.transform_loess(...)
的内容时,生成的图表会继承 x
中定义的所有编码。 LOESS 转换生成一个新的数据集,它只包含目标变量,因此 color='Origin'
编码指向一个未定义的列。
如果您希望未定义的列不出现在图例中,请避免对转换后的图表进行颜色编码:
x = alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower',
y='Miles_per_Gallon',
)
x.encode(color='Origin') + x.transform_loess('Horsepower', 'Miles_per_Gallon').mark_line()
另一方面,如果您希望图例表达其他内容,您将需要一个用于颜色编码的列,您可以使用计算转换创建该列:
x = alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin'
)
x + x.transform_loess(
'Horsepower', 'Miles_per_Gallon'
).transform_calculate(
Origin='" LOESS"'
).mark_line()