如何在plotly dash应用程序中编写数学符号?

问题描述 投票:0回答:5

我想在绘图破折号应用程序中绘制数学符号。

例如,我尝试过这个:

import dash
import dash_html_components as html

app = dash.Dash(__name__)
app.layout = html.Div(
    children=[
        html.P(r'$ Area (m^{2}) $'),
        dcc.Markdown(r'$ Area (m^{2}) $')
    ]
)
app.run_server()

这就是结果:

我怎样才能得到这些结果?

python latex plotly plotly-dash
5个回答
3
投票

MathJax 3 在 Dash v2.3.0 中运行,其中包括带有 Markdown 的 Plotly.js v2.10.0。示例: dcc.Markdown('$$y=x+1$$', mathjax=True)


2
投票

您可以尝试Mathjax。以下工作在我的最后(Python 3.9.1,dash==1.19.0,dash-html-components==1.1.2)

首先在当前项目的assets文件夹中创建一个javascript文件(anyname.js)。在该文件中只有以下行:

setInterval("MathJax.Hub.Queue(['Typeset',MathJax.Hub])",1000);

然后回到你的Python文件:

from dash import Dash
import dash_html_components as html

MATHJAX_CDN = '''
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/
MathJax.js?config=TeX-MML-AM_CHTML'''

external_scripts = [
                    {'type': 'text/javascript',
                     'id': 'MathJax-script',
                     'src': MATHJAX_CDN,
                     },
                    ]


app = Dash(__name__, external_scripts=external_scripts)
app.layout = html.Div(
    children=[
        html.P('''\(Area\)(\(m^2\)) '''),
    ]
)
app.run_server()

一些注意事项:

  • 我一直无法让 Mathjax 在 Markdown 中工作 组件。
  • 此解决方案不适用于最新的 Mathjax 版本(也不适用于 2.7.7)。我不确定它可以使用哪个最新版本。

如果您能够解决这两个警告中的任何一个,请告诉我。


1
投票

使用plotly你必须使用unicode。例如,如果您想打印希腊字母 mu 为“\u03bc”。您可以从这里获取一些符号,从这里获取上标。 m 平方将是“m\U+2072”。


1
投票

安装

pip install dash -U

代码

import dash
from dash import dcc, html

app = dash.Dash()
app.layout = html.Div([
    dcc.Markdown('$Area (m^{2})$', mathjax=True),
])
app.run_server()


0
投票

您可以将“mathjax=True”添加到 dcc.Markdown(r'$ Area (m^{2}) $') 来源:https://www.youtube.com/watch?v=V6rZt7Xqb0U

© www.soinside.com 2019 - 2024. All rights reserved.