juliaでグラフを描画する方法を解説してきます。
今回はその基礎編
基本的なPlotsの使い方を解説していきます。
応用編では、CSVやDataFramesなどを使ってタイタニックのデータをグラフに描いたりしていこうと思います。
CSVはJuliaでCSVファイルを読み込む3つの方法-Julia1.6対応-
DataFrameは、juliaのDataFramesとQueryでデータを操作するをご覧ください
タイタニックデータを使った応用変化はこちら>>Juliaでグラフをプロットする-応用編1-
グラフの見た目を加工する応用編はこちら>>Juliaでグラフをプロットする‐応用編2‐
時系列データのグラフ描画はこちら>>juliaで時系列-その2-時系列データのグラフ描画
下準備
グラフ描画の下準備をしていきましょう。
パッケージインストール
グラフ描画の代表的なパッケージのPlotsをインストールしてきます。
JuliaのREPLの場合は
パッケージモードに移動して
(@v1.6) pkg> add Plots
Jupyter Notebookだと
using Pkg
Pkg.add("Plots")
処理が完了すればインストール完了です。
パッケージのインポート
では、使っていくためにパッケージをインポートしておきましょう。
using Plots
これでエラーが出てなければ、無事インストールもインポートも完了です。
なにかグラフを描いてみる
準備ができたので、なにかグラフを描いてみましょう。
Plotsのチュートリアルにあるように少しやっていきます。
20個乱数を発生させてそれを描画してみましょう。
using Plots
x=1:20; y=rand(20);
plot(x,y)
これで、グラフが描画されます。
Jupyter-notebookであれば、実行画面に表示されます。
Julia-REPLはWindowsの場合、Qtを使って表示されます。
こんな感じです。
余談ですが
x=1:20;
y=rand(20);
最後につけている”;”(セミコロン)
これをつけると、実行画面には何も表示されず、つけないと、実行結果が表示されます。
これは、Jupyter-notebookでもREPLでも同様です。
以降は、Jupyter-Notebookの画面を使っていきます。
Jupyter-notebookでJuliaを使い方法は、juliaのインストールと環境設定、Jupyter-notebookの設定方法で解説しています。インストールや環境設定がまだ終わってない方は、こちらをご覧ください。
Plotsを色々触って色んなグラフを描いてみる
基本的な描画ができたので、ここからは、もう少し色々触っていきましょう。
複数の値を描画する
まずは、複数の値を描画させましょう。
20個の乱数を2つ発生させて、それぞれ描画。
新しい値のグラフを既存のグラフに追加する
ここにもう一つ値を追加して、描画しましょう。
plot!(x,z)
!をつけて、実行すると、既存のグラフに追加されます。
タイトルやラベル、線の太さなどを変える
タイトルやラベルや線の太さを変えていきましょう。
plot(x,y,title = "Two Random Number",lw=4)
titleはタイトル、lwが線の太さ
ここにxlabelを追加しましょう。
xlabel!("x label")
!を使うことで、既存のグラフに追加です。
plot!で既存のグラフに追加(上書き)できるので、
plot!(x,z,title="Three Random Number")
と実行すると、
新しい値が追加されて、さらにタイトルも変更されます。
レイアウトを変える
ここまでは、1つグラフに複数の値を描画してきました。次に、複数のグラフを描いてみましょう。
新たに6個、乱数を発生させます。
ひとまず、今までと同様に描画してみましょう
なかなか見ずらいです。
layoutを使って、2行3列に
plot(x,y,layout=(2,3))
それぞれのグラフにタイトルをつけたり種類をつけたりといった加工もできます
いくつかやってみましょう
p1=plot(x,y)
p2=plot(x,y[:,1],title="Data 1",lw=4)
p3=scatter(x,y[:,2],title="Scatter Data 2")
p4=plot(x,y[:,3:4])
p5=histogram(x,y[:,5:6])
p6=plot(x,y[:,1],color="red",lw=3,markershapes=:star5)
plot(p1,p2,p3,p4,p5,p6,layout=(2,3))
まとめ
今回は、Plots公式ページのチュートリアルをお手本に基本的な使い方を解説しました。
応用編では、さらに実践的なPlotsやその周辺パッケージの使い方を解説してきます。
コメント