gpt4 book ai didi

python - Altair:将串联图表中的配色方案分开

转载 作者:行者123 更新时间:2023-12-05 02:45:10 35 4
gpt4 key购买 nike

对于下面的示例,我想使用绿色配色方案进行导出,使用红色进行导入。当我单独创建图表时,一切都很好,它们得到了我分配给它们的配色方案。然而,当我连接图表时,他们都得到了红色方案。

import pandas as pd
fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
years = ["2015", "2016", "2017"]

exports = {'fruits' : fruits,
'2015' : [2, 1, 4, 3, 2, 4],
'2016' : [5, 3, 4, 2, 4, 6],
'2017' : [3, 2, 4, 4, 5, 3]}
imports = {'fruits' : fruits,
'2015' : [-1, 0, -1, -3, -2, -1],
'2016' : [-2, -1, -3, -1, -2, -2],
'2017' : [-1, -2, -1, 0, -2, -2]}

df_exp = pd.DataFrame(exports)
df_imp = pd.DataFrame(imports)

import altair as alt

cols_year_imp = df_imp.columns[1:]
cols_year_exp = df_exp.columns[1:]

imp = alt.Chart(df_imp).transform_fold(
list(cols_year_imp)
).mark_bar(
tooltip=True
).encode(
x='value:Q',
y='fruits:N',
color=alt.Color('key:O', scale=alt.Scale(scheme='reds'))
)

exp = alt.Chart(df_exp).transform_fold(
list(cols_year_exp)
).mark_bar(
tooltip=True
).encode(
x=alt.X('value:Q',title="Export"),
y='fruits:N',
color=alt.Color('key:O', scale=alt.Scale(scheme='greens', reverse=True)),
order=alt.Order('key:O', sort='ascending')
)

# imp | exp
imp
exp
alt.hconcat(imp, exp)

输出:/image/jFvu6.png

enter image description here

最佳答案

您可以在连接的图形上使用 resolve_scale:

alt.hconcat(imp, exp).resolve_scale(color='independent')

enter image description here

关于python - Altair:将串联图表中的配色方案分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66106111/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com