简体   繁体   中英

Does anyone have an explanation as to why this graph is being made on vega?

Am trying to make a graph in vegalite whereby i show the evolution of stock prices overtime. Intuitively this should be very easy however for some reason only two lines seem to get output and they aren't reflective of the stock prices at all. Is there something wrong with my data or am i missing something quite basic?

{"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "title": {
    "text": "Cases: UK nations",
    "subtitle": [
      "New cases by publish date, rolling rate"
     
    ],
    "subtitleFontStyle": "italic",
    "subtitleFontSize": 10,
    "anchor": "start",
    "color": "black"
  },
  "background": "whitesmoke",
  "width": 800,
  "height": 600,
  "data": {
    "url": "https://raw.githubusercontent.com/andrewsnowdon/andrewsnowdon.github.io/main/graph1megasheet.csv",
  "format": {"type": "csv"}},
  "layer": [
    {
      "encoding": {
        "x": {"field": "Date", "type": "temporal"},
        "y": {"field": "Open", "type": "quantitative"},
        "color": {
          "field":"Stockname",
           "type": "nominal"
           }
      },
      "layer": [
        {"mark": "line"},
        {
          "params": [
            {
              "name": "label",
              "select": {
                "type": "point",
                "encodings": ["x"],
                "nearest": true,
                "on": "mouseover"

              }
            }
          ],
          "mark": "point",
          "encoding": {
            "opacity": {
              "condition": {"param": "label", "empty": false, "value": 1},
              "value": 0
            }
          }
        }
      ]
    },
    {
      "transform": [{"filter": {"param": "label", "empty": true}}],
      "layer": [
        {
          "mark": {"type": "rule", "color": "grey"},
          "encoding": {
            "x": {"type": "temporal", "field": "Date", "aggregate": "min"}
          }
        },
        {
          "encoding": {
            "text": {"type": "quantitative", "field": "Open"},
            "x": {"type": "temporal", "field": "Date", "title": "Month"},
            "y": {
              "type": "quantitative",
              "field": "Open",
              "title": "Price"
            }
          },
          "layer": [
            {
              "mark": {
                "type": "text",
                "stroke": "white",
                "strokeWidth": 0.5,
                "align": "left",
                "dx": 5,
                "dy": -5
               
              }
            },
            {
              "mark": {"type": "text", "align": "left", "dx": 5, "dy": -5},
              "encoding": {"color": {"type": "quantitative"}}
            }
          ]
        }
      ]
    }
  ],
  "config": {}
}

Four of your stocks have identical data, so the lines are hidden below the last one drawn. You can see this by faceting your dataset:

{
  "data": {
    "url": "https://raw.githubusercontent.com/andrewsnowdon/andrewsnowdon.github.io/main/graph1megasheet.csv",
    "format": {"type": "csv"}
  },
  "mark": "line",
  "encoding": {
    "x": {"field": "Date", "type": "temporal"},
    "y": {"field": "Open", "type": "quantitative"},
    "facet": {"field": "Stockname", "type": "nominal", "columns": 3}
  }
}

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM