Python 黄土标线图例

Python 黄土标线图例,python,altair,Python,Altair,下面的示例数据集说明了有关格式的问题 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('Horsepowe

下面的示例数据集说明了有关格式的问题

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()

  • 如何更改右侧彩色图例中“未定义”黄土标绘线的名称

  • 有没有办法在保留“欧洲、日本和美国”的同时,删除黄土标绘线的图例

  • 我似乎无法为
    mark\u line()
    找到合适的“mark property”标志,我无法传递
    legend=None


    PS:由于此图表需要与Alt.vconcat/hconcat结合使用,因此我认为它需要在基础级别进行

    首先要知道的是,图例来自编码:如果不希望字段出现在颜色图例中,请不要给它颜色编码。如果您确实希望它出现,请给它一个颜色编码,以反映您希望在图例中出现的内容

    当您编写类似于
    x.transform\u(…)
    的内容时,生成的图表将继承
    x
    中定义的所有编码。黄土变换生成的新数据集只包含目标变量,因此
    color='Origin'
    编码指向未定义的列

    如果希望未定义的列不出现在图例中,请避免对转换后的图表进行颜色编码:

    x=alt.Chart(源)。标记圆圈(大小=60)。编码(
    x='马力',
    y=‘每加仑英里数’,
    )
    x、 编码(color='Origin')+x.transform\u(“马力”,“英里/加仑”)。标记线()
    

    另一方面,如果希望图例说明其他内容,则需要一列用于颜色编码,可以使用计算变换创建该列:

    x=alt.Chart(源)。标记圆圈(大小=60)。编码(
    x='马力',
    y=‘每加仑英里数’,
    颜色='Origin'
    )
    x+x.u黄土(
    “马力”、“每加仑英里数”
    ).transform_计算(
    来源=‘黄土’
    ).mark_line()