julia の PyPlot + seaborn で、2枚のグラフを並べる subplot() と、枠のスタイル sns.set_style() と、軸目盛の plt[:xticks]() の 例
julia の PyPlot + seaborn で、2枚のグラフを並べるの方法と、スタイルあれこれの例です。そのまま、コピー&ペーストして下さい。
(1) デフォルト darkgrid
using PyCall, PyPlot @pyimport seaborn as sns x = linspace(0,2pi,100) sns.set() # デフォルト sns.set_style("darkgrid") と同じ subplot(211) ax1 = plot(x,sin.(x), label="sin(x)") ylabel("sin(x)", color=sns.color_palette()[1]) plt[:legend]() subplot(212) ax2 = plot(x,2cos.(x) , color=sns.color_palette()[2], label="2cos(x)") ylabel("2cos(x)", color=sns.color_palette()[2]) plt[:legend]()
(2) ticks
using PyCall, PyPlot @pyimport seaborn as sns x = linspace(0,2pi,100) sns.set_style("ticks") subplot(211) ax1 = plot(x,sin.(x), label="sin(x)") ylabel("sin(x)", color=sns.color_palette()[1]) plt[:legend]() subplot(212) ax2 = plot(x,2cos.(x) , color=sns.color_palette()[2], label="2cos(x)") ylabel("2cos(x)", color=sns.color_palette()[2]) plt[:legend]()
(3) ticks + despine で、上と右の枠外し
using PyCall, PyPlot @pyimport seaborn as sns x = linspace(0,2pi,100) sns.set_style("ticks") subplot(211) ax1 = plot(x,sin.(x), label="sin(x)") ylabel("sin(x)", color=sns.color_palette()[1]) plt[:legend]() subplot(212) ax2 = plot(x,2cos.(x) , color=sns.color_palette()[2], label="2cos(x)") ylabel("2cos(x)", color=sns.color_palette()[2]) plt[:legend]() sns.despine()
subplot() で描くと、Y軸のケタ表示が異っても、グラフ領域の大きさは同じになるのは、ちょっと、すばらしいです。
さらに、オマケで、軸目盛を、π (=3.14...) 毎に変更します。
using PyCall, PyPlot @pyimport seaborn as sns x = linspace(0,2pi,100) sns.set_style("ticks") subplot(211) ax1 = plot(x,sin.(x), label="sin(x)") ylabel("sin(x)", color=sns.color_palette()[1]) plt[:legend]() plt[:xticks]([0,pi,2pi], ["0", "π","2π"]) subplot(212) ax2 = plot(x,2cos.(x) , color=sns.color_palette()[2], label="2cos(x)") ylabel("2cos(x)", color=sns.color_palette()[2]) plt[:legend]() sns.despine() plt[:xticks]([0,pi,2pi], ["0", "π","2π"])