如何解决如何在Plotly Dash应用中编写数学符号?
我想在绘图仪表板应用程序中绘制数学符号。
例如,我已经尝试过:
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()
这就是结果:
如何获得这些结果?
解决方法
对于 plotly,您必须使用 unicode。例如,如果你想打印一个希腊字母 mu 是“\u03bc”。您可以从 here 中获取一些符号,从 here 中获取上标。 m 方格将是“m\U+2072”。
,你可以试试 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)。我不确定它可以使用哪个最新版本。
如果您能解决这两个警告中的任何一个,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。