如何在 Dash (Plotly) 中更改语言/区域设置或 Plotly 工具栏的标签?

4

Plotly工具栏

我已经成功地使用传递给dash_core_components.Graph的字典(config)来修改Dash中Plotly的工具栏。

现在我想将其余按钮的“tooltip”或标签更改为另一种语言。文档说明我可以使用“locale”参数更改标签的区域设置(语言)。我在JavaScript和R文档中看到过这个,应用于Plotly图形或dash_core_components.Graph:

https://plot.ly/r/locales/

现在我需要在Python中实现此操作,但我尚未能够做到。这是我尝试过的:

config_plots = {'modeBarButtonsToRemove':["sendDataToCloud","lasso2d","pan2d","autoScale2d","select2d","zoom2d","zoomIn2d", "zoomOut2d"],
            "locale":"de"}

dcc.Graph(id="plot",config=config_plots,
              figure={"data":plotdata,"layout":layout})

我已经为 plotly 图形(plotly.graph_objs)添加了区域设置参数,并尝试使用我所知道的不同区域设置,但到目前为止都没有成功。
问题是: 如何自定义标签文字?使用区域设置参数时是否有遗漏?有没有办法更改标签文字以便在不使用区域设置参数的情况下进行翻译?
请注意,我对 JavaScript 的了解非常少,如果可能的话,我更愿意在 Python 中完成此操作。
2个回答

6
根据这份 Plotly 文档,您需要首先注册任何新的语言。
对于您的情况,这意味着您需要添加:
https://cdn.plot.ly/plotly-locale-de-latest.js

转到您的仪表板。

通过

app.scripts.append_script({"external_url": "https://cdn.plot.ly/plotly-locale-de-latest.js"})

或者通过下载js文件并将其复制到仪表板根目录下的assets文件夹中。

更多信息请参见https://dash.plot.ly/external-resources


1
Phifre,谢谢。它起作用了!我可以更改Plotly工具栏语言,但它并没有影响Dash核心组件。例如,我有一个日期选择器范围,我也想翻译它。我尝试了几种方法在dcc中选择区域设置,但无法解决它。您知道如何将区域设置应用于dash核心组件吗? - David Olmo Pérez

1
django-dash-plotly中,我需要执行以下操作:
  • 将本地化脚本添加到外部脚本中:
        app = DjangoDash(
            self.name,
            external_scripts=[
                "/static/plotly/plotly-locale-es.js",
            ],
        )
  • 使用所需的语言环境配置图表
    app.layout = [
       dcc.Graph(
            id="my_graph",
            config={"locale": 'es'},
       )
    ]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接