pyscript 环境中的 Sympy 图未显示在网络屏幕上
Sympy plot in a pyscript environment not showing on web screen
Python Sympy 运行ning 在 pyscript 环境中不显示 init_printing(use_unicode=True) 个字符,例如 √ 符号”,也不集成 sympy “绘图”功能。
我已经为 matplotlib 和 numpy 库添加了 py-env 语句,但仍然出现空白屏幕。浏览器控制台日志不显示任何 运行 时间错误消息。
Javascript 库中似乎缺少一些东西来激活 Latex“MathJax”,或 HTML5“mathml”可视化,以便使用类似于 Jupyter 的图形数学符号和视觉输出打印表达式.我正在为 Linux 使用 Chrome Beta 浏览器版本 101.0.4951.34 并使用“MathJax”(.js)和“print_mathml”(sympy)打印命令对其进行了测试。
我的代码示例:
<html>
<head>
<title>Math Notation with Sympy</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- sympy
- matplotlib
</py-env>
</head>
<body>
<div id="sym"></div>
<py-script output="sym">
# docu for printing: https://docs.sympy.org/latest/tutorial/printing.html
# error: output does not show as formated Latex, or Unicode notation
from sympy import *
x, t, z, nu, pi = symbols('x t z nu pi')
init_printing()
Integral(sqrt(1/x), x)
# pi # same error as above
# pprint(N(sqrt(2)*pi)) # same error as above
</py-script>
</body>
</html>
我已使用您的代码片段将浏览器更新至最新的 Chrome 版本 102.0.5005.40(官方构建)测试版(64 位)- Linux Ubuntu获得输出,但没有有效的数学格式。显示的输出以某种方式 t运行cated,如下所示:
/ | | ___ | / 1 | / - dx | / x | /
在开发人员控制台,我看到一个 ASCII 格式的输出被写入“sym”div。如果有一种方法可以重定向到生成格式良好的数学符号的 MathML 或 MathJax 过程,那就太好了。下面检查:
<div id="sym" class="mathjax"><div id="sym-1">...</div>
<div id="sym-2">
</div><div id="sym-3">$$\int \sqrt{\frac{1}{x}}\, dx$$</div>
<div id="sym-4">
</div></div>
想知道为什么 pyscript 生成的 id="sym-3" div 部分没有在 Chrome 浏览器中呈现任何 LATEX 数学符号,即使在加载 MathJax 脚本之后也是如此。它可能与另一个 Div?
中的 Div 部分有关
使用 pprint
它对我有用 (Chrome 101.0.4951.54)。
编辑: 然而,它在 jupyter notebook 中看起来确实更漂亮。
<html>
<head>
<title>Math Notation with Sympy</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- sympy
- matplotlib
</py-env>
</head>
<body>
<div id="sym"></div>
<py-script output="sym">
from sympy import symbols, init_printing, Integral, sqrt, pprint
x, t, z, nu, pi = symbols('x t z nu pi')
pprint(Integral(sqrt(1/x), x))
</py-script>
</body>
</html>
Python Sympy 运行ning 在 pyscript 环境中不显示 init_printing(use_unicode=True) 个字符,例如 √ 符号”,也不集成 sympy “绘图”功能。
我已经为 matplotlib 和 numpy 库添加了 py-env 语句,但仍然出现空白屏幕。浏览器控制台日志不显示任何 运行 时间错误消息。
Javascript 库中似乎缺少一些东西来激活 Latex“MathJax”,或 HTML5“mathml”可视化,以便使用类似于 Jupyter 的图形数学符号和视觉输出打印表达式.我正在为 Linux 使用 Chrome Beta 浏览器版本 101.0.4951.34 并使用“MathJax”(.js)和“print_mathml”(sympy)打印命令对其进行了测试。
我的代码示例:
<html>
<head>
<title>Math Notation with Sympy</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- sympy
- matplotlib
</py-env>
</head>
<body>
<div id="sym"></div>
<py-script output="sym">
# docu for printing: https://docs.sympy.org/latest/tutorial/printing.html
# error: output does not show as formated Latex, or Unicode notation
from sympy import *
x, t, z, nu, pi = symbols('x t z nu pi')
init_printing()
Integral(sqrt(1/x), x)
# pi # same error as above
# pprint(N(sqrt(2)*pi)) # same error as above
</py-script>
</body>
</html>
我已使用您的代码片段将浏览器更新至最新的 Chrome 版本 102.0.5005.40(官方构建)测试版(64 位)- Linux Ubuntu获得输出,但没有有效的数学格式。显示的输出以某种方式 t运行cated,如下所示: / | | ___ | / 1 | / - dx | / x | / 在开发人员控制台,我看到一个 ASCII 格式的输出被写入“sym”div。如果有一种方法可以重定向到生成格式良好的数学符号的 MathML 或 MathJax 过程,那就太好了。下面检查:
<div id="sym" class="mathjax"><div id="sym-1">...</div>
<div id="sym-2">
</div><div id="sym-3">$$\int \sqrt{\frac{1}{x}}\, dx$$</div>
<div id="sym-4">
</div></div>
想知道为什么 pyscript 生成的 id="sym-3" div 部分没有在 Chrome 浏览器中呈现任何 LATEX 数学符号,即使在加载 MathJax 脚本之后也是如此。它可能与另一个 Div?
中的 Div 部分有关使用 pprint
它对我有用 (Chrome 101.0.4951.54)。
编辑: 然而,它在 jupyter notebook 中看起来确实更漂亮。
<html>
<head>
<title>Math Notation with Sympy</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- sympy
- matplotlib
</py-env>
</head>
<body>
<div id="sym"></div>
<py-script output="sym">
from sympy import symbols, init_printing, Integral, sqrt, pprint
x, t, z, nu, pi = symbols('x t z nu pi')
pprint(Integral(sqrt(1/x), x))
</py-script>
</body>
</html>