技術屋にゃん兵衛のてくてくらぼ by データウィズ [DataWith]

気の向くままソフトについて書いてます。バリバリエンジニアではないのであくまでも初心者目線で。

WLJS Notebookを使ってWolfram言語を動かす(2)

WLJS Notebookを使ってWolfram言語を動かす(2)

 

WLJSのページはこちら

jerryi.github.io

 

今回は「Wolfram言語」とタイトルにはありますが、あまり関係がないかもしれません。

 

前回、WLJS Notebookで、関数のグラフを表示しました。Wolfram言語では、凡例などのコンロトロールがいまいちだということを書きました(これはあくまで、知識不足であるだけなのかもしれません)。

 

WLJS Notebookでもう一つグラフを書く方法があります。こちらのほうが表現力が高いのですが、Wolfram言語ではなく、Plotlyを使ってJavaScriptで処理するというものです。

 

比較のため、まずはおさらいで、Wolfram言語の「Plot」関数を使ったものです。

Plot[Sin[x], {x, 0, 6 Pi}]

Wolfram言語の「Plot」関数で描いたもの

 

次にPlotlyで同じものを書きます。

Plotly[Sin[x], {x, 0, 6 Pi}]

「Plotly」を使って描いたもの

 

軸の位置もいいですすし、マウスポインターを重ねると値も表示されます。

 

前回に使った3つのSinグラフも同じように書けます。まずは、Wolfram言語で再現。

Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}]

 

で、Plotlyを使うと…

 

軸もいいし、凡例も表示されます。

後ろでWolfram Engineとやり取りもしていないようなので、表示が早い。

 

数式処理はWolfram言語でWolfram Engineに処理をさせ、グラフの描画にはPlotlyを使うのがよさそう。

 

となると、混在はできるのか、という疑問がわきます。

ということで、次のコードをWLJS Notbookに入れて実行しました。

d = Dt[3 x^2 + 6 x + 5, x]

Plotly[d, {0, 5, x}]

 

きちっと出ます。

 

ただ、細かな設定をすることはできなさそうです。執筆時点(2024年1月初旬)のWLJSのドキュメントでも次のように書かれています。

 

これができると、もっと表現力が上がると思います。期待してます。