{
  "name": "force",
  "width": 1000,
  "height": 600,
  "padding": {"top":0, "bottom":0, "left":0, "right":0},
  "data": [
    {
      "name": "links",
      "url": "miserable_links.json",
      "format": {"type": "json"},
      "transform": [
        {"type": "copy", "from": "data", "fields": ["source", "target"]}
      ]
    },
    {
      "name": "nodes",
      "url": "miserable_nodes.json",
      "format": {"type": "json"},
      "transform": [
        {
          "type": "force",
          "links": "links",
          "linkDistance": 70,
          "charge": -100,
          "iterations": 1000
        }
      ]
    }
  ],
  "marks": [
    {
      "type": "path",
      "from": {
        "data": "links",
        "transform": [
          {"type": "link", "shape": "line"}
        ]
      },
      "properties": {
        "update": {
          "path": {"field": "path"},
          "stroke": {"value": "#ccc"},
          "strokeWidth": {"value": 0.8}
        }
      }
    },
    {
      "type": "symbol",
      "from": {"data": "nodes"},
      "properties": {
        "enter": {
          "fillOpacity": {"value": 0.3},
          "stroke": {"value": "steelblue"}
        },
        "update": {
          "x": {"field": "x"},
          "y": {"field": "y"},
          "fill": {"value": "steelblue"}
        },
        "hover": {
          "fill": {"value": "#f00"}
        }
      }
    }
  ]
}