我想比较一个altair(最终vega-lite)分层图的多个条件。完美的解决方案是刻划/格子图,这样我就能看到不同的条件并排。不幸的是,我无法弄清楚如何给出绘制不同条件的命令。
这是我尝试基于分层图的示例实现我的想法: (https://github.com/ellisonbg/altair/blob/master/altair/notebooks/07-LayeredCharts.ipynb)
import pandas as pd
import numpy as np
data = pd.DataFrame({'x':np.random.rand(10), 'y':np.random.rand(10), 'z':['a', 'b']*5})
chart = LayeredChart(data)
chart += Chart().mark_line().encode(x='x:Q', y='y:Q', column='z:Q')
chart += Chart().mark_point().encode(x='x:Q', y='y:Q', column='z:Q')
chart
与示例相比,我添加了列' z'有两个条件,以及图表定义中的两个列语句。 这个解决方案生成看似很好的Vega-lite代码,但没有绘图。或者,我尝试了#34; chart = LayeredChart(data).encode(column =' z:Q')"但我得到了错误' LayeredChart'对象没有属性'编码'
我想知道是否有可能分层(格子)分层图以及是否有可能在未来的Vega-Lite版本中使用。
我正在和Anaconda一起使用jupyter
答案 0 :(得分:3)
分层仅在当前版本的Vega-Lite和Altair中以实验方式支持,我相信您已经遇到了一个不受支持的方面。这应该在今年春天晚些时候的Vega-Lite 2.0版本(以及相关的Altair版本)中得到解决。