我想创建一个面积图,但是梯度应该从线到图表的顶部。有什么想法吗?
这里是一个常规梯度图的示例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')
)
发布于 2021-01-16 02:46:23
您可以通过将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)
)
https://stackoverflow.com/questions/65740187
复制相似问题