代码之家  ›  专栏  ›  技术社区  ›  John Freeman

用粗体绘制一些特定网格线的简单方法?

  •  0
  • John Freeman  · 技术社区  · 4 年前

    我有一个以原点为中心的散点图。我想用粗体绘制原点网格线(一条水平线,一条垂直线),以便更容易看到原点的位置。

    我可以把两个分开 rule 图表,每张都有一条线,把它们放在我的散点图下面,但这很烦人。有更简单的方法吗?

    extent = 1.0
    scale = alt.Scale(domain=(-extent, extent))
    base = alt.Chart(pd.DataFrame([[0, -extent, extent]])).mark_rule()
    xaxis = base.encode(
        alt.Y('0:Q', scale=scale),
        alt.X('1:Q'),
        alt.X2('2:Q'),
    )
    yaxis = base.encode(
        alt.X('0:Q', scale=scale),
        alt.Y('1:Q'),
        alt.Y2('2:Q'),
    )
    xaxis + yaxis + scatter
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   debbes    4 年前

    domainWidth configure_axisX configure_axisY 设置“轴线”的厚度:

    import altair as alt
    from vega_datasets import data
    
    source = data.cars()
    
    alt.Chart(source).mark_circle(size=60, clip=False).transform_calculate(
        x = alt.datum.Horsepower-100,
        y = alt.datum.Miles_per_Gallon - 25
    ).encode(
        x=alt.X('x:Q', axis=alt.Axis(offset=-150)),
        y=alt.Y('y:Q', axis=alt.Axis(offset=-190)),
        color='Origin',
    ).configure_axisX(
        domainWidth =3
    ).configure_axisY(
        domainWidth =3
    )
    
    推荐文章