Шаблон:Graph:Chart: различия между версиями

Материал из Депупедии
Перейти к навигации Перейти к поиску
Нет описания правки
Метка: отменено
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
<graph>
<graph>
{
{{Graph:Chart
  "version": 2,
|type=line
  "width": 700,
|yScaleType=log
  "height": 250,
|x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  "padding": "auto",
|y=3, 7, 20, 55, 148, 403, 1097, 2981, 8103, 22026
  "data": [
}}
    {
      "name": "table",
      "values": [
        {"date": 2015,"population": 0},
        {"date": 2016,"population": 175},
        {"date": 2017,"population": 185}
      ]
    },
    {
      "name": "annotation",
      "values": [
      ]
    }
  ],
  "scales": [
    {
      "name": "x",
      "type": "linear",
      "range": "width",
      "zero": false,
      "domain": {"data": "table","field": "date"}
    },
    {
      "name": "y",
      "type": "linear",
      "range": "height",
      "nice": true,
      "domain": {"data": "table","field": "population"}
    },
    {
      "name": "color",
      "type": "ordinal",
      "domain": {"data": "annotation","field": "text"},
      "range": ["black","red"]
    }
  ],
  "axes": [
    {
      "type": "x",
      "scale": "x",
      "format": "d",
      "title": "Дата",
      "ticks": 12
    },
    {
      "type": "y",
      "scale": "y",
      "title": "Депутатов",
      "grid": true,
      "layer": "back"
    }
  ],
  "marks": [
    {
      "type": "rect",
      "from": {"data": "annotation"},
      "properties": {
        "enter": {
          "x": {"scale": "x","field": "start"},
          "y": {"value": 0},
          "x2": {"scale": "x","field": "end"},
          "y2": {"signal": "height"},
          "fill": {"scale": "color","field": "text"},
          "opacity": {"value": 0.2}
        }
      }
    },
    {
      "type": "line",
      "from": {"data": "table"},
      "properties": {
        "enter": {
          "interpolate": {"value": "monotone"},
          "x": {"scale": "x","field": "date"},
          "y": {"scale": "y","field": "population"},
          "stroke": {"value": "steelblue"},
          "strokeWidth": {"value": 3}
        }
      }
    },
    {
      "type": "symbol",
      "from": {"data": "table"},
      "properties": {
        "enter": {
          "x": {"scale": "x","field": "date"},
          "y": {"scale": "y","field": "population"},
          "stroke": {"value": "steelblue"},
          "fill": {"value": "white"},
          "size": {"value": 30}
        }
      }
    },
    {
      "type": "text",
      "from": {
        "data": "table",
        "transform": [
          {
            "type": "aggregate",
            "summarize": {"date": ["min","max"]}
          }
        ]
      },
      "properties": {
        "enter": {
          "x": {"signal": "width","mult": 0.5},
          "y": {"value": -10},
          "text": {
            "template": "Количество депутатов в базе"
          },
          "fill": {"value": "black"},
          "fontSize": {"value": 16},
          "align": {"value": "center"},
          "fontWeight": {"value": "bold"}
        }
      }
    }
  ],
}
</graph>
</graph>


== @ uhfabr ==
<htmlet>dohodyER</htmlet>
<graph>
{
  "width": 650,
  "height": 300,
  "padding": "strict",
 
  "signals": [
    {
      "name": "indexDate",
      "init": {"expr": "time('Jan 1 2005')"},
      "streams": [{
        "type": "mousemove",
        "expr": "clamp(eventX(), 0, eventGroup('root').width)",
        "scale": {"name": "x", "invert": true}
      }]
    },
    {"name": "maxDate", "init": {"expr": "time('Mar 1 2010')"}}
  ],
 
  "data": [
    {
      "name": "stocks",
      "url": "data/stocks.csv",
      "format": {"type": "csv", "parse": {"price":"number", "date":"date"}}
    },
    {
      "name": "index",
      "source": "stocks",
      "transform": [{
        "type": "filter",
        "test": "month(datum.date) == month(indexDate) && year(datum.date) == year(indexDate)"
      }]
    },
    {
      "name": "indexified_stocks",
      "source": "stocks",
      "transform": [{
        "type": "lookup",
        "on": "index", "onKey": "symbol",
        "keys": ["symbol"], "as": ["index_term"],
        "default": {"price": 0}
      }, {
        "type": "formula",
        "field": "indexed_price",
        "expr": "datum.index_term.price > 0 ? (datum.price - datum.index_term.price)/datum.index_term.price : 0"
      }]
    }
  ],
 
  "scales": [
    {
      "name": "x",
      "type": "time",
      "domain": {"data": "stocks", "field": "date"},
      "range": "width"
    },
    {
      "name": "y",
      "type": "linear",
      "domain": {"data": "indexified_stocks", "field": "indexed_price"},
      "range": "height",
      "nice": true
    },
    {
      "name": "color",
      "type": "ordinal",
      "domain": {"data": "stocks", "field": "symbol"},
      "range": "category10"
    }
  ],
  "axes": [
    {"type": "y", "scale": "y", "grid": true, "layer": "back", "format": "%"}
  ],
  "marks": [
    {
      "type": "group",
      "from": {
        "data": "indexified_stocks",
        "transform": [{"type": "facet", "groupby": ["symbol"]}]
      },
      "marks": [
        {
          "type": "line",
          "properties": {
            "update": {
              "x": {"scale": "x", "field": "date"},
              "y": {"scale": "y", "field": "indexed_price"},
              "stroke": {"scale": "color", "field": "symbol"},
              "strokeWidth": {"value": 2}
            }
          }
        },
        {
          "type": "text",
          "from": {
            "transform": [{"type": "filter", "test": "datum.date == maxDate"}]
          },
          "properties": {
            "update": {
              "x": {"scale": "x", "field": "date", "offset": 2},
              "y": {"scale": "y", "field": "indexed_price"},
              "fill": {"scale": "color", "field": "symbol"},
              "text": {"field": "symbol"},
              "baseline": {"value": "middle"}
            }
          }
        }
      ]
    },
    {
      "type":"rule",
      "properties": {
        "update": {
          "x": {"field": {"group": "x"}},
          "x2": {"field": {"group": "width"}},
          "y": {"scale": "y", "value": 0},
          "stroke": {"value": "black"},
          "strokeWidth": {"value": 1}
        }
      }
    },
    {
      "type":"rule",
      "properties": {
        "update": {
          "x": {"scale": "x", "signal": "indexDate"},
          "y": {"value": 0},
          "y2": {"field": {"group": "height"}},
          "stroke": {"value": "red"}
        }
      }
    },
    {
      "type":"text",
      "properties": {
        "update": {
          "x": {"scale": "x", "signal": "indexDate"},
          "y2": {"field": {"group": "height"}, "offset": 15},
          "align": {"value": "center"},
          "text": {"template": "{{indexDate | time: '%b %Y'}}"},
          "fill": {"value": "red"}
        }
      }
    }
  ]
}
</graph>

Текущая версия от 08:16, 6 сентября 2024

Синтаксическая ошибка