Juliaのパッケージ Grassmann.jl がリニューアルされたというニュースが伝わってきたので,早速調べてみたら, Makie.jl を用いたベクトル場の流線表示の図形が載っていた。Makieは日本語の蒔絵に由来してネーミングされた,GPUを用いる高機能なjulia用グラフィックスのパッケージのようだ。
さっそく,Makie.jlをPkg.add("Makie") してみたがなかなかうまくいかない。そもそも例題が実行できないのだ。あの物性理論の永井祐紀さんが,「Juliaで綺麗なプロットを作る:Makie.jlのインストールと使い方」という記事を2018年12月に書いていたので,早速試してみた。
まず,AbstractPlotting.jlとMakie.jl と GLMakie.jl をインストールせよとある。そうなのか。
サンプルはすべて,FileIO.jl を使って,save("filename.png", scene)としている。そうなのか。ちなみに,ファイルに保存せずに直接画面に出力しようとすると,No renderer could be found for output. It has the following MIME types: というエラーが出てしまう。
とりあえず,指示に従うと,サンプルファイルはほぼ再現できたが,残念ながら,minimum( ) があるものはすべて,収束しないエラーで挫折してしまった。あと,streamplotの中のvectorfieldやlinesの中のpointなどがないといわれる。何が足りないのか?
成功した例は次のようなもの。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
using AbstractPlotting
x = range(0, stop = 2pi, length = 80)
f1(x) = sin.(x)
f2(x) = exp.(-x) .* cos.(2pi*x)
y1 = f1(x)
y2 = f2(x)
scene = lines(x, y1, color = :blue)
scatter!(scene, x, y1, color = :red, markersize = 0.1)
lines!(scene, x, y2, color = :black)
scatter!(scene, x, y2, color = :green, marker = :utriangle, markersize = 0.1)
save("graph.png",scene)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
図 Makieを用いた関数のプロットの例
0 件のコメント:
コメントを投稿