要解决这个问题,你可以使用Altair中的transform_aggregate()方法来聚合数据并创建图表。在transform_aggregate()方法中,你可以指定要聚合的列以及要应用的聚合函数。这将对数据进行分组,并将其汇总为一个包含名义组的图表。下面是一个示例代码:
import altair as alt
import pandas as pd
# 创建示例数据
data = pd.DataFrame({
'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': [10, 15, 5, 8, 12, 20]
})
# 使用transform_aggregate()方法聚合数据
chart = alt.Chart(data).mark_bar().encode(
alt.X('Category:N'),
alt.Y('sum(Value):Q')
).transform_aggregate(
sum_value='sum(Value)',
groupby=['Category']
)
# 显示图表
chart.show()
运行以上代码,你将看到一个包含名义组的柱状图。在这个图表中,x轴表示不同的类别(A、B、C),y轴表示每个类别的值的总和。