gpt4 book ai didi

python - 如何使用 Altair 在散点图中突出显示标记?

转载 作者:行者123 更新时间:2023-12-01 08:16:16 31 4
gpt4 key购买 nike

我正在尝试将在seaborn中构建的下面的图表复制到altair。我可以在其中标记某些点,即簇中的预测点。

enter image description here

Altair 中的图层功能似乎是方向。

Altair 示例

import altair as alt
import pandas as pd

source = pd.DataFrame({
'x': [1, 3, 5, 7, 9],
'y': [1, 3, 5, 7, 9],
'label': ['A', 'B', 'C', 'D', 'E']
})

bars = alt.Chart(source).mark_point().encode(
x='x:Q',
y='y:Q'
)

text = bars.mark_text(
align='left',
baseline='middle',
dx=7
).encode(
text='label'
)

bars + text

但是,我无法仅选择某些点来在中间用黑点标记。

谢谢

最佳答案

这可以通过将包含要显示的数据的两个图表分层来完成。这是一个包含 scikit-learn 生成的一些数据的示例,因为您没有提供任何示例数据:

import altair as alt
import pandas as pd
from sklearn.datasets import make_blobs

X, labels = make_blobs(20, random_state=1)
points = pd.DataFrame({
'x': X[:, 0],
'y': X[:, 1],
'labels': labels
})
centers = points.groupby('labels').mean()
data = pd.concat([points , centers.reset_index()])

chart1 = alt.Chart(data).mark_point(filled=True, size=150).encode(
x='x',
y='y',
color='labels:N'
)

chart2 = alt.Chart(centers).mark_point(filled=True, size=50).encode(
x='x',
y='y',
color=alt.value('black')
)

chart1 + chart2

enter image description here

关于python - 如何使用 Altair 在散点图中突出显示标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54964869/

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