Plots メモ

Plots について

Julia には様々な図の作成方法があるらしい.
その中で Plots は,他の描画ツールをバックエンドとして,Plots の文法で図を作成するというもの.
メリットは,同じコードでもバックエンドを切り替えるだけで雰囲気の違う図が作成できる点.
バックエンドを切り替えてみて,見栄えの良い図をその都度選べる.

下記リンクにあるように,(ほぼ)同じ文構造で図を作成できる.

MATLAB や Python の matplotlib に近いので,これらに慣れていれば学習コストはあまり大きくならないかと.
ただし,PyPlot というパッケージがあるので matplotlib 以外に興味がない人は新たに Plots に手をつける必要もなさそう.


図作成の基本

Plots の図の書き方は原則2種類ある.
plot で始まり,linetype 引数でスタイルを指定するか,そのまま scatter や contour などと書くか,の2つ.どちらが良いかは好みの問題.

using Plots

を宣言して,scatter は

plot(x,y,linetype=scatter) # or
scatter(x,y)

contour は

plot(X,Y,Z,linetype=contour) # or
contour(X,Y,Z)

という感じ.バックエンドによってはできないスタイルもある.
(呼び出しているだけであり,バックエンド本体の範疇を超えることはない)
contour や surface 系の平面図については,MATLAB や matplotlib とは異なり,
X, Y がベクトル(Vector, Array{T,1})でなければならない点に注意.2次元配列 (Array{T,2}) ではエラーになる.


体裁の整え方

plot(..., color=(:plasma), xlims=(0,1), ylims=(0,1),
     label="Line 1", title="Figure", xlabel="X-axis")

のように plot のキーワード引数を使う方法と

plot(...)
xlims!(0,1)
ylims!(0,1)

または

plt = plot(...)
plt = plot!(plt, xlims=(0,1), ylims=(0,1))

のように後付けする方法がある.
Attributes で,キーワード引数と入力の対応関係が確認できる.
引数の型が Tuple か普通の Array かよくわからなくなった時はこれを読む.


Plots の colormap

clibraries() で,ライブラリの一覧を確認できる.

julia> clibraries()
5-element Array{Symbol,1}:
 :Plots
 :cmocean
 :misc
 :colorcet
 :colorbrewer

さらに,

showlibrary(:misc)

とすると,misc ライブラリのカラーリングの一式が確認できる.
:Plots 以外のライブラリを使用する際には(例えば misc),

clibrary(:misc)

で宣言しておくと,misc の色が使用できる.

詳細はここに.

線やマーカーの色の取得

線やマーカで使う(:auto で決まる)色を予め取得する場合.
例えば5色ほしい時は

c = Plots.get_color_palette(:auto, Plots.plot_color(:black), 5)

のようにする.
参考は下記リンク.

複数の図を1枚に表示

別々に作成した, Plots.plot() 型の図を subplot のように使う.
事前にレイアウトを決定する必要がなく,後で決められるのが便利.
pltA と pltB を並べる時は

# pltA::T, pltB::T, where T <: Plots.plot() を 2x1 (縦 x 横) に並べる
plts = plot(pltA, pltB, layout=(2,1), size=(600,600))

結合した図の大きさはキーワード引数 size を使って調整する.
この結合を複数回行うことで,(n x m) に限らず任意の配置で図が作れる.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2019-11-03 (Sun) 14:26:13 (8d)