在 Altair 中查看当前配色方案
See current color scheme in Altair
绘制包含多个图层的图表时,某些图层的颜色不匹配。
我尝试使用 alt.Scale 修复此问题。问题是颜色与我选择的主题不匹配。我希望能够使用当前的主题颜色,但能够为图表中的每个元素选择使用哪种颜色。
特别是,这是我的代码:
make_era_labels = lambda df_slice, mode : \
alt.Chart(df_slice).mark_text(
align='right' if mode == 'high' else 'left',
baseline='top',
size = 14,
fontWeight='bold',
angle = 270,
dx = -20,#120,
dy=20,#25
).encode(
text='Era',
x=alt.X('start', title = x_axis),
y=alt.value(0 if mode =="high" else 600), # pixels from top
color=alt.Color('Era',
legend = None,
scale=alt.Scale(
domain=['Pre Deep Learning Era', 'Deep Learning Era', 'Large Scale Era'],
range=['yellow', 'blue', 'red']) if large_scale_action == 'isolate' else alt.Undefined
)
)
midpoint = pd.to_datetime(f"{(year_start.year + year_end.year) // 2}-01-01")
left_era_labels = make_era_labels(eras_df[eras_df['start'] < midpoint], "high")
right_era_labels = make_era_labels(eras_df[eras_df['start'] > midpoint], "low")
由于我是分两部分做图,所以颜色不协调,方案的第一种颜色重复了。但是当我自己用 alt.Scale
选择颜色时,颜色不再符合主题。
而不是 range=['yellow', 'blue', 'red']
我想要与当前主题相对应的颜色。比如现在的yellow
就太亮了
我尝试使用 alt.themes.get()
但毫无帮助 returns VegaTheme('fivethirtyeight')
,我正在使用的主题名称。
您可以前往 https://vega.github.io/vega/docs/schemes/ and hovering the names in the color schemes (also defined here https://github.com/vega/vega/blob/v5.21.0/packages/vega-scale/src/palettes.js)
查看所有颜色
这个问题有一些相关的回答Altair: Selecting a color from a Vega color scheme for plot
绘制包含多个图层的图表时,某些图层的颜色不匹配。
我尝试使用 alt.Scale 修复此问题。问题是颜色与我选择的主题不匹配。我希望能够使用当前的主题颜色,但能够为图表中的每个元素选择使用哪种颜色。
特别是,这是我的代码:
make_era_labels = lambda df_slice, mode : \
alt.Chart(df_slice).mark_text(
align='right' if mode == 'high' else 'left',
baseline='top',
size = 14,
fontWeight='bold',
angle = 270,
dx = -20,#120,
dy=20,#25
).encode(
text='Era',
x=alt.X('start', title = x_axis),
y=alt.value(0 if mode =="high" else 600), # pixels from top
color=alt.Color('Era',
legend = None,
scale=alt.Scale(
domain=['Pre Deep Learning Era', 'Deep Learning Era', 'Large Scale Era'],
range=['yellow', 'blue', 'red']) if large_scale_action == 'isolate' else alt.Undefined
)
)
midpoint = pd.to_datetime(f"{(year_start.year + year_end.year) // 2}-01-01")
left_era_labels = make_era_labels(eras_df[eras_df['start'] < midpoint], "high")
right_era_labels = make_era_labels(eras_df[eras_df['start'] > midpoint], "low")
由于我是分两部分做图,所以颜色不协调,方案的第一种颜色重复了。但是当我自己用 alt.Scale
选择颜色时,颜色不再符合主题。
而不是 range=['yellow', 'blue', 'red']
我想要与当前主题相对应的颜色。比如现在的yellow
就太亮了
我尝试使用 alt.themes.get()
但毫无帮助 returns VegaTheme('fivethirtyeight')
,我正在使用的主题名称。
您可以前往 https://vega.github.io/vega/docs/schemes/ and hovering the names in the color schemes (also defined here https://github.com/vega/vega/blob/v5.21.0/packages/vega-scale/src/palettes.js)
查看所有颜色这个问题有一些相关的回答Altair: Selecting a color from a Vega color scheme for plot