Jupyter notebook 由同一单元格生成的多个牵牛星图表
我有一个我命名的条目的数据框列表,在运行同一单元格中的代码后,我希望将其可视化。下面是我使用的代码:Jupyter notebook 由同一单元格生成的多个牵牛星图表,jupyter-notebook,altair,Jupyter Notebook,Altair,我有一个我命名的条目的数据框列表,在运行同一单元格中的代码后,我希望将其可视化。下面是我使用的代码: alt.data_transformers.disable_max_rows() for entry in entries : entry['ds'] = entry.index entry['y'] = entry['count'] entry['floor'] = 0 serie = alt.Chart(entry).mark_line(size=2, o
alt.data_transformers.disable_max_rows()
for entry in entries :
entry['ds'] = entry.index
entry['y'] = entry['count']
entry['floor'] = 0
serie = alt.Chart(entry).mark_line(size=2, opacity=0.7, color = 'Black').encode(
x=alt.X('ds:T', title ='date'),
y='y'
).interactive().properties(
title='Evolution of '+entry.event.iloc[0]+' events over time'
)
alt.layer(serie)\
.properties(width=870, height=450)\
.configure_title(fontSize=20)
当我从“for”循环中运行相同的代码时,我可以看到对应于一个数据帧的一个图表,但是一旦我运行上面的代码,我就根本看不到任何图形。
有人知道它为什么不工作或者如何解决这个问题吗?TLDR:use
chart.display()
除非图表显示在单元格的末尾,否则必须手动显示它
打个比方,如果你跑
x + 1
for x in range(10):
x + 1
Python本身将显示结果。然而,如果你跑
x + 1
for x in range(10):
x + 1
Python不会显示任何内容,因为单元格中的最后一条语句(在本例中为for循环)没有要显示的返回值。相反,你必须写作
for x in range(10):
print(x + 1)
对于altair,机制类似:如果图表是在单元格中的最后一条语句中定义的,它将自动显示。否则,您必须手动触发显示,您可以使用显示方法:
for i in range(10:
chart = alt.Chart(...)
chart.display()
有关Altair中显示故障排除的详细信息,请参阅