|
|
| (55 versions intermédiaires par 2 utilisateurs non affichées) |
| Ligne 1 : |
Ligne 1 : |
| <graph mode="interactive">
| | |
| {
| |
| "$schema": "https://vega.github.io/schema/vega/v5.json",
| |
| "width": 1200,
| |
| "height": 1000,
| |
| "data": [
| |
| {
| |
| "name": "membres",
| |
| "values": [
| |
| {"label": "rafael","nom": "Rafael Moller","membre_start": "2022-09-11","membre_end": "2022-11-13","status": "📢"},
| |
| {"label": "rafael","membre_start": "2022-11-20","membre_end": "2022-11-20","status": "⚰️"},
| |
| {"label": "carl","nom": "Carl Newman","membre_start": "2022-09-11","membre_end": "2022-12-21","status": "✈️"},
| |
| {"label": "jorgen","nom": "Jørgen Haraldsen","membre_start": "2022-09-11","membre_end": "2022-11-20","status": "🚪"},
| |
| {"label": "terry","nom": "Terry Dulend","membre_start": "2022-09-15","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "zu","nom": "Zu Lin","membre_start": "2022-09-18","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "liam","nom": "Liam Blake","membre_start": "2022-09-21","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "kyle","nom": "Kyle Morisson","membre_start": "2022-09-21","membre_end": "2023-01-17","status": "⚰️"},
| |
| {"label": "esteban","nom": "Esteban Inaros","membre_start": "2022-09-23","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "mira","nom": "Mira Woods","membre_start": "2022-10-01","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "adama","nom": "Adama Fofana","membre_start": "2022-10-24","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "felipe","nom": "Felipe Castillo","membre_start": "2022-10-24","membre_end": "2023-02-01","status": "❌"},
| |
| {"label": "julien","nom": "Julien Roy","membre_start": "2022-12-13","membre_end": "2023-02-01","status": "❌"}
| |
| ],
| |
| "transform": [
| |
| {
| |
| "type": "formula",
| |
| "as": "membre_end",
| |
| "expr": "datum.membre_end ? datum.membre_end : datetime(year(now()) + '/' + (month(now())+1) + '/' + date(now()))"
| |
| }
| |
| ],
| |
| "format": {"parse": {"membre_start": "date", "membre_end": "date"}}
| |
| },
| |
| {
| |
| "name": "seconds",
| |
| "values": [
| |
| {"label": "carl","second_start": "2022-09-11","second_end": "2022-10-11"},
| |
| {"label": "kyle","second_start": "2022-10-11","second_end": "2022-11-13"}
| |
| ],
| |
| "transform": [
| |
| {
| |
| "type": "formula",
| |
| "as": "second_end",
| |
| "expr": "datum.second_end ? datum.second_end : datetime(year(now()) + '/' + (month(now())+1) + '/' + date(now()))"
| |
| }
| |
| ],
| |
| "format": {"parse": {"second_start": "date", "second_end": "date"}}
| |
| },
| |
| {
| |
| "name": "chefs",
| |
| "values": [
| |
| {"label": "rafael","chef_start": "2022-09-11","chef_end": "2022-11-13"},
| |
| {"label": "kyle","chef_start": "2022-11-13","chef_end": "2023-01-17"},
| |
| {"label": "terry","chef_start": "2023-01-17","chef_end": "2023-02-01"}
| |
| ],
| |
| "transform": [
| |
| {
| |
| "type": "formula",
| |
| "as": "chef_end",
| |
| "expr": "datum.chef_end ? datum.chef_end : datetime(year(now()) + '/' + (month(now())+1) + '/' + date(now()))"
| |
| }
| |
| ],
| |
| "format": {"parse": {"chef_start": "date", "chef_end": "date"}}
| |
| },
| |
| {
| |
| "name": "events",
| |
| "values": [
| |
| {"name": "11/09 - Création du groupe","date": "2022-09-11","y": -20},
| |
| {"name": "12/11 - Prise du quartier Yabaï","date": "2022-11-12","y": -20},
| |
| {"name": "18/01 - Perte du quartier","date": "2023-01-18","y": -20},
| |
| {"name": "01/02 - Dissolution du groupe","date": "2023-02-01","y": -20}
| |
| ],
| |
| "format": {"parse": {"date": "date"}}
| |
| },
| |
| {
| |
| "name": "annee",
| |
| "values": [
| |
| {"name": "2023","date": "2023-01-01"}
| |
| ],
| |
| "format": {"parse": {"date": "date"}}
| |
| }
| |
| ],
| |
| "scales": [
| |
| {
| |
| "name": "x",
| |
| "type": "time",
| |
| "range": "width",
| |
| "domain": {
| |
| "data": "membres",
| |
| "fields": ["membre_start", "membre_end"]
| |
| }
| |
| },
| |
| {
| |
| "name": "y",
| |
| "type": "band",
| |
| "range": "height",
| |
| "domain": {"data": "membres", "field": "label"},
| |
| "padding": 0.2
| |
| }
| |
| ],
| |
| "axes": [
| |
| {"orient": "bottom", "scale": "x", "grid": true, "format": "%m/%y"}
| |
| ],
| |
| "marks": [
| |
| {
| |
| "type": "rect",
| |
| "from": {"data": "seconds"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "second_start"},
| |
| "x2": {"scale": "x", "field": "second_end"},
| |
| "y": {"scale": "y", "field": "label", "offset": -3},
| |
| "height": {"value": 10},
| |
| "fill": {"value": "#999"}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "rect",
| |
| "from": {"data": "chefs"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "chef_start"},
| |
| "x2": {"scale": "x", "field": "chef_end"},
| |
| "y": {"scale": "y", "field": "label", "offset": -3},
| |
| "height": {"value": 10},
| |
| "fill": {"value": "#000"}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "rect",
| |
| "from": {"data": "membres"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "membre_start"},
| |
| "x2": {"scale": "x", "field": "membre_end"},
| |
| "y": {"scale": "y", "field": "label"},
| |
| "height": {"value": 4},
| |
| "fill": {"value": "#FF8F00"}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "rect",
| |
| "from": {"data": "events"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "date"},
| |
| "y": {"field": "y"},
| |
| "width": {"value": 0.5},
| |
| "height": {"value": 1000},
| |
| "fill": {"value": "#0090FF"}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "text",
| |
| "from": {"data": "events"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "date"},
| |
| "y": {"field": "y"},
| |
| "angle": {"value": -30},
| |
| "text": {"field": "name"},
| |
| "fill": {"value": "#000"},
| |
| "fontSize": {"value": 14}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "rect",
| |
| "from": {"data": "annee"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "date"},
| |
| "y": {"field": "y"},
| |
| "width": {"value": 0.5},
| |
| "height": {"value": 1000},
| |
| "fill": {"value": "#FF0000"}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "text",
| |
| "from": {"data": "annee"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "date"},
| |
| "y": {"field": "y"},
| |
| "angle": {"value": -30},
| |
| "text": {"field": "name"},
| |
| "fill": {"value": "#FF0000"},
| |
| "fontSize": {"value": 20}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "text",
| |
| "from": {"data": "membres"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "membre_start"},
| |
| "y": {"scale": "y", "field": "label", "offset": -7},
| |
| "text": {"field": "nom"},
| |
| "fill": {"value": "#000"},
| |
| "fontSize": {"value": 14}
| |
| }
| |
| }
| |
| },
| |
| {
| |
| "type": "text",
| |
| "from": {"data": "membres"},
| |
| "encode": {
| |
| "enter": {
| |
| "x": {"scale": "x", "field": "membre_end", "offset": -2},
| |
| "y": {"scale": "y", "field": "label", "offset": 6},
| |
| "text": {"field": "status"},
| |
| "fill": {"value": "#000"},
| |
| "fontSize": {"value": 14}
| |
| }
| |
| }
| |
| }
| |
| ]
| |
| }
| |
| </graph>
| |