gpt4 book ai didi

python - 对最后一个元素使用一种形状,对图表中的所有其他元素使用另一种形状

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:38 25 4
gpt4 key购买 nike

在 Altair 中有没有一种方法可以对数据框中的所有元素使用一种形状,但最后一个元素除外?我有数据列和类别列。除了一个类别之外,我希望所有类别都用圆圈绘制,一个类别用菱形绘制。

我知道如何设置形状和颜色范围,但我不明白如何根据数据有条件地设置它们,只是形状/颜色的顺序和值

这是一个简化的例子:


myData = {'category':['Cat 1','Cat 2','Cat 3'],
'valueX':['10','20','30'],
'valueY':['10','20','30']}

df = pd.DataFrame(data=myData)

alt.Chart(df).mark_point().encode(
x = 'valueX',
y = 'valueY',
shape = alt.Shape('category', scale=alt.Scale(range=['circle','diamond']))
)

这只是在圆形和菱形之间交替。如何让我的前两个类别使用圆圈,而“类别 3”使用菱形?

最佳答案

比例属性允许您将映射到范围,其中指定输入值,范围 指定域映射到的视觉属性。如果你想让多个域值映射到同一个范围值,可以这样做:

alt.Chart(df).mark_point().encode(
x = 'valueX',
y = 'valueY',
shape = alt.Shape('category',
scale=alt.Scale(
domain=['Cat 1', 'Cat 2', 'Cat 3'],
range=['circle', 'circle', 'diamond']
)
)
)

enter image description here

关于python - 对最后一个元素使用一种形状,对图表中的所有其他元素使用另一种形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329818/

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