Vega-Lite中的数据布局,图层和图例

哈利鲁坦

我的情况很简单,我认为我的解决方案太复杂了,很可能会丢失一些东西。假设我有time,位置(x,y,z),角度(滚动,俯仰,偏航)和速度的度量我想要一个像现在一样简单的可视化效果,其中速度图可以用作“画笔”以动态放大前两个图。

在此处输入图片说明

我在vega编辑器中的情节的一个小例子可以在这里找到

1.我可以使用其他数据布局吗?

现在,每个点都是一个对象

{
    "pitch": -0.006149084584096612,
    "roll": 0.0007914191778949736,
    "speed": 4.747345444390669,
    "time": 0.519741,
    "x": -0.01731604791076788,
    "y": 0.020068310429957575,
    "yaw": 0.0038123065311157552,
    "z": -0.016005977140476142
}

在许多数据点的情况下,仅用于重复列名就需要大量内存。更好的是将数据具有以下形式

{
    "time": [t1, t2, t3, ...],
    "x": [...],
    ...
}

but vega's "row first" representation doesn't allow for that. I already asked on Slack where someone suggested to use Fold and Pivot, but I'm not sure how to implement this. Is it possible to use data that are stored as arrays? I'm creating the data myself from a C++ program and I'm free to export a different representation easily. The only question is how do I make vega-lite understand?

2. Layers and legends.

If I had time-series data with an "indicator column", I could create plots that combine several graphs easily. Unfortunately, I don't have that and the only solution I found is to use layers. With this, I have to set the colours for different graphs explicitly (instead of using schemes) and I don't get a legend.

如果层实际上是唯一的选择,例如将x,y,z合并成一个“运动”图,那么如何获得该图例的图例,告诉我红色-> x,绿色-> y和蓝色-> z?

jakevdp

答案是肯定的。

第一个问题的关键是以密集格式传递数据并使用Flatten变换对其进行扩展。

第二个问题的关键是使用折叠转换将多列转换为一个指标加一个值。

这是单个图表(在编辑器中打开的演示

{
  "data": {
    "values": [
      {
        "time": [1, 2, 3, 4],
        "x": [5, 4, 5, 2],
        "y": [2, 3, 2, 4],
        "z": [1, 2, 1, 0]
      }
    ]
  },
  "transform": [
    {"flatten": ["time", "x", "y", "z"]},
    {"fold": ["x", "y", "z"], "as": ["column", "value"]}
  ],
  "mark": "line",
  "encoding": {
    "x": {"field": "time", "type": "quantitative"},
    "y": {"field": "value", "type": "quantitative"},
    "color": {"field": "column", "type": "nominal"}
  }
}

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vega-Lite中的数据布局,图层和图例

来自分类Dev

如何在Vega Lite中重命名图例标签?

来自分类Dev

Vega Lite计算问题

来自分类Dev

在Vega / Vega-lite中绘制漏斗图

来自分类Dev

在Vega-lite中转换数据

来自分类Dev

Vega lite顶部和底部10

来自分类Dev

vega-lite:可调选择?

来自分类Dev

如何在vega-lite中过滤数据?

来自分类Dev

如何在vega-lite中过滤数据?

来自分类Dev

在Vega Lite中设置默认字体

来自分类Dev

Vega-lite中的动态比例域

来自分类Dev

在Vega-lite中刷放大X和Y

来自分类Dev

Vega-lite中用于水平图例的换行

来自分类Dev

在Vega-Lite中使用图例过滤简明图表

来自分类Dev

为什么Vega Lite中的列构面不能与图层一起正常使用?

来自分类Dev

Vega-lite通过数据设置颜色,同时保留图例

来自分类Dev

Vega-lite交互式图例和条形图

来自分类Dev

通过视图更新程序化数据后获得vega / vega-lite规格

来自分类Dev

Vega lite选择N个对象(数量)

来自分类Dev

vega-lite:如何按周汇总

来自分类Dev

缩放,跟踪Vega-Lite重复图表

来自分类Dev

Vega-Lite-如何绘制箭头?

来自分类Dev

使Vega-Lite条形标记相邻

来自分类Dev

Vega-lite默认条宽度奇怪

来自分类Dev

将数据用作Vega Lite的数组而不是表

来自分类Dev

Firefox和Chrome之间的Vega-lite区别

来自分类Dev

Vega-Lite-圆和线的比例误差

来自分类Dev

删除Vega Lite日期X轴中的小刻度

来自分类Dev

如何在Vega-Lite中建立预先计算的直方图?