我正在使用 Databricks 笔记本。由于各种原因,我需要单独渲染图表(concat 没有给我想要的结果)并且我不能将图表对象放在单元格的末尾。我想渲染每个图表并进行一些处理。这是一些简单的代码,显示了我想要做什么。
import altair as alt
import pandas as pd
alt.renderers.enable('default')
df = pd.DataFrame({'x': [1,2,3,4,5],
'y1': [1,2,3,4,5],
'y2': [6,7,8,9,10]})
for y in ['y1', 'y2']:
chart = (alt.Chart(df, title="{0} vs x".format(y))
.mark_line()
.encode(x=alt.X('x:Q'),
y=alt.Y(y, title='Score')))
chart.display()
pass # More code that does stuff
不幸的是,输出是:
alt.Chart(...)
alt.Chart(...)
我已经尝试过 vega 版本 2.2.0、3.4.0 和 3.5.0,但我仍然遇到同样的问题。我正在使用 altair 版本 4.1.0、IPython 版本 7.19.0 和 Python 3.8.8。
我尝试了不同的渲染器('mimetype'、'notebook'),但我什么也没得到。
有谁知道如何让 display() 方法在 Databricks 中工作?