Python

独立は複数の計算は並列化をするべき。
一部だけを計算する関数subcalを作ってmultiprocessingを使えばいい。import multiprocessing as mpでpool=mp.pool(processor数)、p.map(subcal, range(# of processor))。
テキトーにやっても並列してないときに137秒かかった計算が、6並列で55秒、12並列だと27秒で終わる。全プロセッサ使うと他が動かなくなるので注意しないといけない(それはそう)。

numpy リンク集

NumPy配列ndarrayを結合
NumPyのsortとargsort関数で任意の行・列を基準にソート
NumPy配列ndarrayに要素・行・列を挿入、追加するinsertの使い方
ndarrayの形状を変化させる。
cmapのパラメータ一覧

matplotlib

不規則間隔データ(x,y,z)からカラーコントアーを作成したい。この方法は基本的に三角形で等高線を考えて全部くっつけるみたいなことをしているはず。
plt.tricontourf(np.log10(cont_Mdot*yr_const/Msun_const),np.log10(cont_L),cont_e,levels=100,cmap=cm.viridis)
plt.colorbar()
規則的なデータなら次で良い
plt.contourf(xs, xs, z,vmin=-10,vmax=10), vmin,vmaxはzの上限と下限を決めてる。

色を塗る
fill_between(x,y1,y2),横方向はfill_betweenx(y,x1,x2)

メモリの文字のサイズ
plt.tick_params(labelsize=13)

軸のメモリを指数表記にする。
import matplotlib.ticker as ptick
しておいて、
ax.yaxis.set_major_formatter(ptick.ScalarFormatter(useMathText=True))
と軸に対して行う。

カラーバーの設定
cbar=plt.colorbar()
cbar.set_label(r"e",fontsize=15)
cbar.ax.tick_params(labelsize=15)

 例の設定
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0, fontsize=18,title="hoge").get_titlre().set_fontsize(18titlefontsize)
‘best’,‘upper right’‘upper left’‘lower left’‘lower right’‘right’‘center left’‘center right’‘lower center’‘upper center’‘center’

二軸グラフ
ax1 = fig.add_subplot(1, 1, 1)
ax2 = ax1.twinx()
みたいに軸を定義して、ax1.plt(X,Y),ax2.plt(X,Y)みたくすればいい。
最後にplt.showっで表示参考サイト

塗り潰し
plt.fill_betweenx(np.log10(L_sph_large),np.log10(Mdot_sph_large*yr_const/Msun_const),np.log10(Mdot_white_migi*yr_const/Msun_const),facecolor='white') plt.fill_between(np.log10(each_e_0[0]*yr_const/Msun_const),np.log10(each_e_0[1]),np.log10(L_white_ue),facecolor='white') plt.fill_between(np.log10(each_e_095[0]*yr_const/Msun_const),np.log10(each_e_095[1]),np.log10(L_white_shita),facecolor='white')


リモートで計算結果を保存したい場合、普通にやるとDISPLAYが設定されていないのでエラーになる。
これを避けるには pyplotをインポートする前にmatplotlibのbackendを指定しないといけない。
import matplotlib as mpl
mpl.use('pdf')
import matplotlib.pyplot as plt

目盛りをいい感じにする
plt.subplots_adjust(left=0.15,right=0.99,bottom=0.15,top=0.99) #これは余白をいい感じにする部分
import matplotlib.ticker as ptick
ax.xaxis.set_major_formatter(ptick.ScalarFormatter(useMathText=True)) # こっちを先に書くこと。
ax.ticklabel_format(style="sci", axis="x", scilimits=(6,6)) # 10^3単位の指数で表示する。 ax.xaxis.offsetText.set_fontsize(25)

3dの球面にカラーマップを表示
fig=plt.figure(figsize=(10,8)) ax=fig.add_subplot(projection='3d') ax.quiver(0,0,0,Vnow[0],Vnow[1],Vnow[2],color='black',arrow_length_ratio=0.1,length=1.5,label="x2",linewidth=3)#これはベクトルを表示する部分 surf=ax.plot_surface(xpr, ypr, zpr, rstride=1, cstride=1, facecolors=cm.jet(N/Nmax), linewidth=0, antialiased=False, shade=False,alpha=1,zorder=0) #N/Nmaxの色を、(xpr,ypr,zpr)という点に塗る。 ax.view_init(20,45) plt.tick_params(labelsize=20) plt.legend(fontsize=17) plt.tick_params(labelsize=17) m = cm.ScalarMappable(cmap=cm.jet) cb.ax.tick_params(labelsize=17) cb.ax.tick_params(labelsize='large') plt.subplots_adjust(left=0.01,right=0.99,bottom=0.01,top=0.99) plt.show(block=False)

gif作る時に参考にしたサイト。
ガス その2 その3