Juliaやってみよう。一日目。GRでプロット。
色々と気になっていたJuliaで遊んでみようのコーナーを思いつきで始めます。
普段はウィンドウズでPython使っているのでウィンドウズ、Pythonユーザー向けに書きます。
まずはなんかPlotしてみたいかな。
まずはJuliaのインストール
右も左も分からないので、まあOfficialからバイナリもってきて遊んでみよう。
https://julialang.org/downloads/
から最新版のウィンドウズ用exeインストーラーを落とせばよいのでしょう。今時は普通は64ビットですね。 執筆時点ではもう0.6リリースなってますね。私は手元に0.5があったので、今日はそのまま使います。
ライブラリのインストール
さて、JuliaにもPlotライブラリが色々とあるようです。どれにしようかな。
plot.lyのJulia版もあるようですが、JSON書くのいやなので、パス。
公式サイトのhttps://julialang.org/downloads/plotting.html
では、PyPlotというそのままな名前のライブラリでmatplotlibをJuliaから呼び出しちゃうという恐ろしいものがあった。うーむ、JupyterがIPython Notebookの時代にそんなデモをみたような。これはPythonを呼びに行っているのでPythonも必須。
せっかくなのでJuliaネイティブなライブラリを試したいので全部C/C+で書いてあるというGRというPlotライブラリを試すことにした。これPythonはもちろん、PyPyでも使えるらしいうえに、matplotlibのバックエンドとしてもつかえて30倍くらい線の描画が速いらしい。すごい。。。
JuliaにはPkgという多分標準ライブラリだと思うけど、パッケージマネージャーがあって、登録されているライブラリはPkg.add()
で簡単に導入できるらしい。すごい。PythonもCondaで似たようなことができるけど、Juliaの方が進んでいる。
まずはPkg.status()
で、導入されているライブラリを表示してみる。
ふむ。
それでは、Pkg.add("GR")
でGRを導入。
INFO: METADATA is out-of-date — you may not have the latest version of GR INFO: Use `Pkg.update()` to get the latest versions of your packages
へ?METADATAが古い?なんの?Pkg.update()すればいいの?
おお、PackageマネージャーのMETADATAが古いのですな。最新のGRは0.22.0になっているようです。
なんか裏で色々とcondaが暗躍している模様だが、Pkgの実装はピュアJuliaではないのだろうか。なぞ。
さて、Pkg.installed()
としてみると、Pkg.update()がすでに全部アップデートしたようで、GRもバージョンが0.22.0になっている。楽じゃ!condaみたい。
GRで初めてのプロット
Pythonでいうimport分はusingらしいが、importというのもある。違いは調べてもよくわからないが、まあ追々でいいか。GRの公式サイトでもusingだったりimportだったりで、まあどっちでもいいようだ。
あとはPythonのようにplot([0,1,4],[3,2,5])のようにするだけでいいのだそうです。
using GR plot([0,1,4],[3,2,5])
えい。
でた。
これって、plotはGR.plotと同じだと思うのでusingでもってくるとネームスペースのトップにエイリアスがくるっぽい。
タイトルを追加してみる。今度はGRから始まるネームスペースでやってみる。
GR.title("Yattsuke blog playing with Julia")
シーン・・・。何も起きない。PyPlotならshow()とかdraw()の場面だが、show()だとプロットが死んだ。drawはない。
GR.updatews()
が正解っぽいが、何も起きない。さて・・・。
plotもう一回すると更新されるが、ドキュメンテーションみてもやっぱりupdatewsで正解っぽいなあ。。
うむ。まあ今回はこの程度で、つぎはIJulia使ってみるメウ。
« Nokia 3買ったのでSamsung A3と比較。 | トップページ | Juliaやってみよう。二日目。Juliaのアップデート、IJulia »
「学問・資格」カテゴリの記事
- ウイルスを殺すのは簡単。人に無害でやるのが難しいの!! 二酸化塩素「こう?えい!」(2020.03.11)
- 老化はエピジェネティクスな影響が積り、スプライシングに影響を与えるのかも(2017.11.20)
- シネッセンス細胞がアツい。不老不死とハゲの治療が同時に可能か?(2017.11.18)
- 古めの論文でテキスト選択がおかしい時の対処法(2017.09.08)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
「Julia」カテゴリの記事
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
- Juliaやってみよう。三日目。MATLABコードを翻訳してみる。(2017.07.15)
- Juliaやってみよう。二日目。Juliaのアップデート、IJulia(2017.07.13)
- Juliaやってみよう。一日目。GRでプロット。(2017.07.12)
« Nokia 3買ったのでSamsung A3と比較。 | トップページ | Juliaやってみよう。二日目。Juliaのアップデート、IJulia »
コメント