3Dのグラフもグリングリン動くPlotlyJSをJuliaで使う方法

julia

PlotlyJSを使って、直感的に動く美しいグラフを描いていきましょう。

PlotlyJSについて、詳しくは公式サイトを見ていただけるといいと思います。

今回は、グリングリン動く3DのグラフをJuliaとPlotlyJSを使って描画していきます。

環境構築

まずは、パッケージを含む環境構築をしていきましょう。

公式サイトでは、PlotlyJSのパッケージをインストールしてくださいと書いてあります。
しかし、実はそれだけでは動きません。

WebIO.jlっていうパッケージも入れておかないと、エラーが出ます。

using Conda
Conda.pip_interop(true)
Conda.pip("install", "webio_jupyter_extension")

これをインストールした後PlotlyJSをインストール

パッケージモードだと

(v1.6) pkg> add PlotlyJS

JupyterNotebookなら

using Pkg
Pkg.add("PlotlyJS")

これで、環境構築は完了です。

2Dのデモをやってみよう

PlotlyJSの環境構築が完了したので、早速使ってみましょう。

まずは、公式サイトのチュートリアルを一個触ってみましょう。

using PlotlyJS
plot(rand(10, 4))

こんな感じで、ぐりぐりと動きます。

3Dもぐりぐり動かしてみよう!

では、3Dのグラフもぐりぐりやってみましょ!

微分方程式をルンゲクッタ法で求めたものを使って、3次元グラフを描画してぐりぐり動かしてみます。

今回は、ローレンツアトラクタの描画を行ってみます。。ローレンツ方程式のルンゲクッタ法で求める方法については、

この記事を見てください。

ローレンツアトラクタを描画してみましょう

using PlotlyJS,DataFrames
include("rk4.jl")
a = 10.0;
b=28.0;
c =8/3;
ic = (1.1,0.5,0.5)
x,y,z =rungekutta(5000,0.01,ic);
df = DataFrame(X=x,Y=y,Z=z);
plot(df,  x=:X, y=:Y, z=:Z, mode="lines",type="scatter3d")

ぐりんぐりん動きます。

拡大や縮小、そして、視点移動、かなりスムーズに動きます。

まとめ

今回は、自由度の高いぐりぐり動かせるグラフ描画パッケージPlotlyJSを使ってみました。

JuliaだとPlotsっていうパッケージがあって、それで多くのグラフがきれいに描画できるんですが、こうやって、ぐりぐりマウスで動かせたりするのも、直感的にデータを見るときに活用できそうですね。

そして面白い。

コメント

タイトルとURLをコピーしました