如何为多线图数据定义json

时间:2016-03-06 01:35:37

标签: json vega vega-lite

我一直试图找出如何为vega-lite中的多线图定义数据,但我无法让它工作。这些示例显示了URL端点(https://vega.github.io/vega-editor/?mode=vega-lite&spec=line_color&showEditor=1)上的csv文件的数据,但我想查看我在一个简单的json中定义的数据。

以下是我对单线图的看法:

var LineSpec = {
  "description": "variation over time for",

  "data": {
     "values": 
     [
          {"date": "2012-04-23T18:25:43.511Z","price": 10},
          {"date": "2012-04-25T18:25:43.511Z","price": 7},
          {"date": "2012-04-27T18:25:43.511Z","price": 4},
          {"date": "2012-05-01T18:25:43.511Z","price": 1},
          {"date": "2012-05-03T18:25:43.511Z","price": 2},
          {"date": "2012-05-05T18:25:43.511Z","price": 6},
          {"date": "2012-05-07T18:25:43.511Z","price": 8},
          {"date": "2012-05-09T18:25:43.511Z","price": 4},
          {"date": "2012-05-11T18:25:43.511Z","price": 7}
      ]
    },
  "mark": "line",
  "encoding": {
    "x": {"field": "date", "type": "temporal"},
    "y": {"field": "price", "type": "quantitative"},
    "color": {"field": "symbol", "type": "nominal"}
  }
};

如何修改“数据”以显示多线图? (如果可能,显示符号表中未定义的更多有用信息)。这是我现在看到的: Line graph with undefined symbol

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须将符号字段添加到数据中。我添加了符号字段和符号A和B.此数据应使用图例中的两个符号呈现多线图:

{
  "description": "variation over time for",
  "data": {
    "values": [
      {"date": "2012-04-23T18:25:43.511Z","price": 10, "symbol": "A"},
      {"date": "2012-04-25T18:25:43.511Z","price": 7, "symbol": "B"},
      {"date": "2012-04-27T18:25:43.511Z","price": 4, "symbol": "A"},
      {"date": "2012-05-01T18:25:43.511Z","price": 1, "symbol": "B"},
      {"date": "2012-05-03T18:25:43.511Z","price": 2, "symbol": "A"},
      {"date": "2012-05-05T18:25:43.511Z","price": 6, "symbol": "B"},
      {"date": "2012-05-07T18:25:43.511Z","price": 8, "symbol": "A"},
      {"date": "2012-05-09T18:25:43.511Z","price": 4, "symbol": "B"},
      {"date": "2012-05-11T18:25:43.511Z","price": 7, "symbol": "A"}
    ]
  },
  "mark": "line",
  "encoding": {
    "x": {"field": "date", "type": "temporal"},
    "y": {"field": "price", "type": "quantitative"},
    "color": {"field": "symbol", "type": "nominal"}
  }
}