0

根据新的(德语)语言环境设置时间轴标签的正确方法是什么?

我想将它与 vega lite API 一起使用。

这是我尝试过的:

vl1 = {
  embed.vega.timeFormatLocale(locale); // show dates in German 
  embed.vega.formatLocale(locale); // show numbers with German groupings/ separators
  const plot = vl.markBar()
    .config({padding: {"left": 5, "top": 10, "right": 50, "bottom": 40}}) // now tooltip will not be clipped
    .data(cdata_lk_vl)
    .encode(
      vl.x().fieldT('Datum').axis({"format": "%d. %B"}),
      vl.y().fieldQ('infizierte Personen'),
      vl.tooltip([ 
        {"field": "Datum", "type": "temporal", "format": "%d. %B"}, // now date will be shown formatted
        {"field": 'infizierte Personen', "type": "quantitative", "format": ","},          
        ]))
  
   return plot.render();
}
  1. 我创建了一个 observable:https : //observablehq.com/@ee2dev/coronavirus-in-bayern-teil-2,其中单元格 vl1 显示了我想反映区域设置格式的图表。根据可观察论坛https://talk.observablehq.com/t/chang-the-locale-for-vega-lite/3010的建议,我实现了这个:

这似乎有效 - 有时!?。在过去的两个月里,有几天就像今天一样,格式切换回默认的 US_EN

在此处输入图像描述

  1. 此处的相关问题如何设置语言环境以使用我的语言显示时间?在这种情况下似乎没有帮助

我真的很想知道,a)什么是正确的方法和b)为什么我的解决方案有时会在其他时候不起作用(没有我更改代码)

4

1 回答 1

2

我向您发送了有关 Observable 的建议,但我认为问题在于您vega在从 vegaEmbed 获得的实例上设置了语言环境。相反,直接有一个vega实例vl。我经常认为,根据加载顺序,它们是完全相同的实例,但有时可能会有所不同。

所以你要:

  vl.vega.timeFormatLocale(locale); // show dates in German
  vl.vega.formatLocale(locale); // show numbers with German groupings/ separators
于 2020-07-17T15:46:31.810 回答