【问题标题】:Altair - Gradient above lineAltair - 线上方的渐变
【发布时间】:2021-01-16 02:46:23
【问题描述】:

我想创建一个面积图,但是渐变应该从线条向上延伸到图表顶部。有什么想法吗?

此处为常规渐变图示例https://altair-viz.github.io/gallery/area_chart_gradient.html

alt.Chart(source).transform_filter(
    'datum.symbol==="GOOG"'
).mark_area(
    line={'color':'darkgreen'},
    color=alt.Gradient(
        gradient='linear',
        stops=[alt.GradientStop(color='white', offset=0),
               alt.GradientStop(color='darkgreen', offset=1)],
        x1=1,
        x2=1,
        y1=1,
        y2=0
    )
).encode(
    alt.X('date:T'),
    alt.Y('price:Q')
)

【问题讨论】:

标签: altair


【解决方案1】:

您可以通过将y2 编码设置为alt.value(0) 来做到这一点——在这种情况下,零测量的是图表轴顶部的像素:

import altair as alt
from vega_datasets import data

source = data.stocks()

alt.Chart(source).transform_filter(
    'datum.symbol==="GOOG"'
).mark_area(
    line={'color':'darkgreen'},
    color=alt.Gradient(
        gradient='linear',
        stops=[alt.GradientStop(color='white', offset=0),
               alt.GradientStop(color='darkgreen', offset=1)],
        x1=1,
        x2=1,
        y1=1,
        y2=0
    )
).encode(
    alt.X('date:T'),
    alt.Y('price:Q'),
    y2=alt.value(0)
)

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 2012-08-07
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多