要解决这个问题,你需要在Altair中使用自定义的调色板来改变默认的标记颜色。下面是一个示例代码:
import altair as alt
from vega_datasets import data
# 设置自定义调色板
custom_palette = alt.Scale(domain=['setosa', 'versicolor', 'virginica'],
range=['red', 'green', 'blue'])
# 加载数据集
iris = data.iris()
# 创建散点图
scatter = alt.Chart(iris).mark_circle().encode(
x='sepalLength',
y='sepalWidth',
color=alt.Color('species:N', scale=custom_palette) # 使用自定义调色板
).properties(
width=400,
height=300
)
# 显示图表
scatter.show()
在这个示例中,我们首先导入所需的库和数据集。然后,我们定义了一个自定义的调色板custom_palette,它将不同的物种(setosa、versicolor和virginica)映射到不同的颜色(red、green和blue)。接下来,我们加载了鸢尾花数据集,并使用mark_circle()创建了一个散点图。在图表的编码中,我们使用alt.Color()来设置颜色属性,并将scale参数设置为我们定义的自定义调色板custom_palette。最后,我们使用properties()方法设置图表的宽度和高度,并使用show()方法显示图表。
通过这种方式,你可以改变Altair图表中默认的标记颜色。