Utilisateur:Felagoth/brouillon/Graphes sondages

Une page de Wikipédia, l'encyclopédie libre.



Erreur Lua dans Module:Pseudo_code à la ligne 81 : attempt to get length of local 'text' (a nil value).



vieux[modifier | modifier le code]

J'ai d'abord remis, les propositions qui avaient déjà été faites :

Voir ou modifier les données brutes du graphique.


Voir ou modifier les données brutes du graphique.


Ici, des graphes fait à la va-vite sur libreoffice calc pour montrer à quoi pourraient ressembler des courbes de régressions polynomiales (de degré 4) / de moyenne glissante (et à droite des versions classiques pour comparer) :

Ici des graphes fait avec l'extension wikipédia directement (et pas le template graph:line). On peut plus personnaliser, mais je n'ai que modifié l'opacité des points (comme dans le wikipédia anglais), l'épaisseur tu trait (pas sur que ce soit une bonne idée) et, dans le deuxième, les données qui guident les lignes sont arrondies à l'entier pair (supérieur) :


Et finalement un exemple de code pour vega

{
  //
  // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Lines
  //            Please do not modify it anywhere else, as it may get copied and override your changes.
  //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Lines
  //
  // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
  //

  "version": 2,
  "width": 1050,
  "height": 450,
"padding": "strict",
  "signals": [{"name": "rightwidth", "expr": "width + padding.right", "init":"1050"}],
  "data": [{
    "name": "chart",
    "url": "tabular:///Opinion polling for the first round of the 2022 French presidential election.tab",
    "format": {"type": "json"
      , "property": "data"
      , "parse": {"Date_end": "date"}
    },
    "transform": [


      // Convert xField parameter into a field "_xfield"
      {"type": "formula", "field": "_xfield", "expr":
"datum.Date_end"
      }
      , {"type": "sort", "by": ["_xfield"]}
, {"type": "fold", "fields": ["Mélenchon", "Jadot", "Hidalgo", "Macron", "Pécresse", "Le_Pen", "Zemmour"]}
, {"type": "formula", "field": "_yfield", "expr": "datum.value" }

    ]
  },
// source of labels for `tabletype=tab`
  {
    "name": "labels",
    "url": "tabular:///Opinion polling for the first round of the 2022 French presidential election.tab",
    "format": {"type": "json", "property": "fields"},
    "transform": [


    ]
  },

// Each vertical annotation is expected to be x-scale typed `x`, string `text`,
    // and optional string `color` (e.g. "#4d2800")
    {
      "name": "vAnnotations",
      "values": [{"text": "1er tour", "x": "2022-04-15"}, {"text": "Primaire LR", "x": "2021-12-04"}, {"text": "Primaire Populaire", "x": "2022-01-30"}, {"text": "Campagne officielle", "x": "2022-03-28"}],
      "transform": [
        

// in case of `type=time` convert date string to UNIX timestamp
        {"type": "formula", "field": "x", "expr": "datetime(datum.x)"},
        // expected item format `{"text": "...", "color": "#000", x: _ }`
        { "type": "formula", "field": "text", "expr": "datum.text || ''" },
        { "type": "formula", "field": "color", "expr": "datum.color || '#54595d'" }
      ]
    },

  ],
  "scales": [
    {
      "name": "x",
      "type": "time",
      "domain": {"data": "chart", "field": "_xfield"},
      "range": "width",
      "zero": false,
"domainMax": 1651424400000,
      
    },
    {
      "name": "y",
      "type": "linear",
      "range": "height",
      "domain": {"data": "chart", "field": "_yfield"},
      "zero": false,
      "domainMin": 0,
      "domainMax": 30,
      
    },
    {
      "name": "color",
      "type": "ordinal",
      "range": ["#cc2443"," #00C000"," #FF8080"," #FFEB00"," #0066CC"," #0D378A"," #404040"], 
      "domain": {"data": "chart", "field": "key"}
    },
{
      "name": "labels",
      "type": "ordinal",
"domain": {"data": "labels", "field": "name"},
      "range": {"data": "labels", "field": "title"},
    }
  ],
"legends": [{
    "fill": "color",
    "stroke": "color",
"title": "Candidats",
"properties": { "labels": { "text": {"scale": "labels", "field": "data"} } }
  }],
  "axes": [
    {
      "scale": "x", "type": "x", "tickSizeEnd": 0,
      "ticks": 7,
      "title": "Dates",
      
      
      "properties": { 
        "labels": { 
          "align": {"value": "right"}, "angle": {"value": -40 },
          
        } 
       }
    },
    {
      "scale": "y", "type": "y", "tickSizeEnd": 0,
      
      "title": "% d'intentions de vote",
      
      "grid": true,
      "properties": { 
        "labels": { 
          
          
        } 
       }
    }
  ],

  "marks": [
    // Group data by the group parameter or "key", and draw lines, one line per group
    {
      "type": "group",
      "from": {
        "data": "chart",
        "transform": [{"type": "facet", "groupby": ["key"]}]
      },
      "marks": [
        {
          "type": "line",
          "properties": {
            "hover": {
              "stroke": {"value": "red"}
            },
            "update": {
              "stroke": {"scale": "color", "field": "key"}
            },
            "enter": {
              "y": {"scale": "y", "field": "_yfield"},
              "x": {"scale": "x", "field": "_xfield"},
              "stroke": {"scale": "color", "field": "key"},
              "interpolate": {"value": "step"},
              "strokeWidth": {"value": 2.5}
            }
          }
        }
,
        {
          "type": "symbol",
          "properties": {
            "hover": {
              "fill": {"value": "red"}
            },
            "update": {
              "fill": {"scale": "color", "field": "key"}
            },
            "enter": {
              "y": {"scale": "y", "field": "_yfield"},
              "x": {"scale": "x", "field": "_xfield"},
              "size" : {"value": 35},
              "fill": {"scale": "color", "field": "key"}
            }
          }
        }        
      ],
    },

// vertical annotations dashed line
    {
      "type": "rule",
      "properties": {
        "update": {
          "x": {"scale": "x", "field": "x"},
          "y": {"value": 0},
          "y2": {"field": {"group": "height"} },
          "stroke": {"field": "color"},
          "opacity": {"value": 0.75},
          "strokeWidth": {"value": 1},
          "strokeDash": {"value": [6,1]}
        }
      },
      "from": {"data": "vAnnotations"}
    },
    // vertical annotations text
    {
      "type": "text",
      "properties": {
        "update": {
          "x": {"scale": "x", "field": "x"},
          "y": {"value": 0},
          "align": {"value": "right"},
          "dx": {"value": -3},
          "dy": {"value": 3},
          "baseline": {"value": "top"},
          "text": {"field": "text"},
          "angle": {"value": -90},
          "opacity": {"value": 0.75},
          "fill": {"field": "color"}
        }
      },
      "from": {"data": "vAnnotations"}
    },



  ]
}

Voir ou modifier les données brutes du graphique.