2017-02-07 1 views
0

Je voudrais configurer les paramètres régionaux pour une visualisation dans Vega. J'ai besoin d'un format numérique allemand, ce qui signifie que j'ai besoin d'une virgule (,) comme séparateur décimal. Sans configuration dans Vega, un point décimal (.) est utilisé comme séparateur.Comment définir les paramètres régionaux (globalement) dans Vega

Voici un exemple de travail complet qui montre un graphique à barres simple. Comme vous pouvez le voir dans l'image ci-dessous, je veux formater les nombres sur l'axe des y et les valeurs à l'intérieur des barres avec deux décimales.

Comment puis-je définir un environnement local spécifique (par exemple, l'allemand) globalement pour l'ensemble de la visualisation ou pour chaque format numérique séparément? (Je préférerais un cadre global.)

(Note:. Vous pouvez utiliser le Vega Editor pour coller et essayer mon exemple de graphique à barres)

{ 
    "width": 600, 
    "height": 300, 
    "padding": {"top": 10, "left": 35, "bottom": 30, "right": 10}, 
    "data": [ 
    { 
     "name": "table", 
     "values": [ 
     {"x": 1, "y": 0.5}, 
     {"x": 2, "y": 0.8}, 
     {"x": 3, "y": 0.3}, 
     {"x": 4, "y": 0.6} 
     ] 
    } 
    ], 
    "scales": [ 
    { 
     "name": "x", 
     "type": "ordinal", 
     "range": "width", 
     "domain": {"data": "table", "field": "x"}, 
     "padding": 0.1 
    }, 
    { 
     "name": "y", 
     "type": "linear", 
     "range": "height", 
     "domain": {"data": "table", "field": "y"} 
    } 
    ], 
    "axes": [ 
    {"type": "x", "scale": "x"}, 
    {"type": "y", "scale": "y", "format": ".2f"} 
    ], 
    "marks": [ 
    { 
     "type": "rect", 
     "from": {"data": "table"}, 
     "properties": { 
     "enter": { 
      "x": {"scale": "x", "field": "x"}, 
      "width": {"scale": "x", "band": true, "offset": -1}, 
      "y": {"scale": "y", "field": "y"}, 
      "y2": {"scale": "y", "value": 0} 
     }, 
     "update": { 
      "fill": {"value": "steelblue"} 
     } 
     } 
    }, 
    { 
     "type": "text", 
     "from": {"mark": "bars"}, 
     "properties": { 
     "enter": { 
      "y": {"field": "y", "offset": 10}, 
      "x": {"field": "x"}, 
      "dx": {"field": "width", "mult": 0.6}, 
      "fill": {"value": "white"}, 
      "align": {"value": "right"}, 
      "baseline": {"value": "middle"}, 
      "text": {"template": "{{datum.datum.y | number:'.2f'}}"} 
     } 
     } 
    } 
    ] 
} 

Simple bar chart with Vega

Répondre

1

J'ai trouvé un pull request in the Vega GitHub repository qui permet pour définir les paramètres régionaux de nombre et d'heure. Les modifications d'exécution sont également prises en charge.

Exemple pour changer le format numérique Allemand:

vg.util.format.numberLocale({ 
    decimal: ",", 
    thousands: ".", 
    grouping: [3], 
    currency: ["", "\xa0€"] 
}); 

Exemple pour changer le format de l'heure allemande:

vg.util.format.timeLocale({ 
    dateTime: "%A, der %e. %B %Y, %X", 
    date: "%d.%m.%Y", 
    time: "%H:%M:%S", 
    periods: ["AM", "PM"], // unused 
    days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], 
    shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], 
    months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 
    shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] 
});