我正在尝试在altair中创建重复的图形。
这是我的代码:
x = alt.Chart(data).mark_bar().encode(
alt.X(alt.repeat("row"), type='quantitative'),
alt.Y(alt.repeat("column"), type='quantitative')
).repeat(
row= ['country'],
column=['alcohol_use', 'drug_use', 'high_meat', 'low_exercise', 'smoking'])
当我运行它时,它只显示带有轴的图形,而没有其他内容。怎么了?
答案 0 :(得分:2)
如果在重复图表中出现空图,通常意味着以下两种情况之一:
作为第二个问题的示例,请考虑以下Altair's documentation中的图表:
import altair as alt
from vega_datasets import data
iris = data.iris.url
alt.Chart(iris).mark_point().encode(
alt.X(alt.repeat("column"), type='quantitative'),
alt.Y(alt.repeat("row"), type='quantitative'),
color='species:N'
).properties(
width=200,
height=200
).repeat(
row=['petalLength', 'petalWidth'],
column=['sepalLength', 'sepalwidth']
).interactive()
现在让我们看看如果拼写错误的列名会发生什么(这里的“拼写错误”涉及将大写字符更改为小写):
alt.Chart(iris).mark_point().encode(
alt.X(alt.repeat("column"), type='quantitative'),
alt.Y(alt.repeat("row"), type='quantitative'),
color='species:N'
).properties(
width=200,
height=200
).repeat(
row=['petallength', 'petalwidth'],
column=['sepallength', 'sepalwidth']
).interactive()
请确保您没有误输入列名:常见问题是大写与小写,特殊字符以及列名字符串开头或结尾的空格。
答案 1 :(得分:0)
结果是我需要将alt.X(alt.repeat("row"), type='quantitative'),
切换为
alt.X(alt.repeat("row"), type='ordinal'),
,因为行数据是国家/地区名称。