julia で、PyPlot & seaborn を動かす
すでに、python がインストールしてあり python で seaborn が動く方でも、julia からは、何もしないと恐らく動きません。python がインストールしてあっても、インストール済みの python の情報を julia に教えていない場合は、julia 内に julia 謹製の python が別にインストールされるような感じになります。
既存の python を使う方法
julia さんに、すでに存在する python の環境情報を提供する方法は、
julia> ENV["PYTHON"]="" julia> Pkg.build("PyCall")
という方法になります。これを julia のコマンドラインに入れることになります。ENV["PYTHON"]="" の "" には、何を入れたのか忘れてしまいました。
ターミナル (bash など)の
% which python または % which python3
どちらかの戻り値か、homebrew を使っている場合は、"/usr/local/opt/python/bin" 入れると良いはずです。"/usr/local/opt/python/bin/python3.6" などかもしれません。自分の場合は、
julia> PyCall.pyprogramname "/usr/local/opt/python/bin/python3.6"
になっています。
julia から python を入れる方法
上記を読んでも、難しそうで、とても手が出そうにない方や、他の python 環境に興味が無い方は、julia 謹製の python 環境に、seaborn を入れてみることにしましょう。これは、julia の Conda 経由で、julia に、seaborn を入れることで実装できます。Conda.add("") というコマンドを使うと、julia だけで、seaborn が動く pycall/pyplot 環境が構築できます。
using PyCall
using Conda
Conda.add("seaborn")
基本的には、seaborn のギャラリーにある Scatterplot Matrix を描画するには、"import seaborn ... " の前に "@py" を付けて、1回読み込んでしまえば、あとは、"@py" なしです。この程度の描画なら、ほとんど、Python のコードのままで良いようです。クォーテションがダブルになるのは、ちょっと、気をつけないといけないかもしれません。
using PyCall
using PyPlot
@pyimport seaborn as sns
df = sns.load_dataset("iris")
sns.pairplot(df, hue="species")