如何在Altair中为使用color编码的条形图自定义颜色映射?
自定义Altair条形图的渐变颜色映射
要实现自定义黄色系渐变,不需要在mark_bar()里设置color(会被编码覆盖),而是要在encode()的color参数中通过alt.Scale指定自定义色阶:
- 先确定黄色系的渐变范围,比如从浅黄
#fff9c4到深黄#f57f17 - 在
color编码中嵌套alt.Color(),通过scale参数传入自定义的颜色范围
修改后的完整代码:
import altair as alt import numpy as np import polars as pl N = 20 df = pl.DataFrame({ 'x': range(N), 'y': np.random.randint(0, 100, N) }) alt.Chart(df).mark_bar().encode( x='x', y='y', color=alt.Color('y', scale=alt.Scale(range=['#fff9c4', '#f57f17'])) )
如果需要更丰富的黄色系渐变,可以扩展range里的颜色值,比如['#ffffe0', '#fff2cc', '#ffd966', '#f1c232', '#bf9000'],Altair会自动生成平滑的渐变过渡。
内容的提问来源于stack exchange,提问作者MaxPowers
相关产品推荐
相关产品推荐

