2016-06-29 19 views
0

良いサブプロットを作成する方法を理解するのがかなり苦労しています。私は、以下に示すような図を作成したいと思います。誰も私がこれと同様のテンプレートを設定する方法を知っていますか?またPython Matplotlibサブプロットを作成するには?

enter image description here

、どのように私はサブプロットにおけるエラーバーでこれらの点を含むでしょうか? これはエラーバーのコードです。

mass, p, errp, errl = np.loadtxt('/Users/shawn/Desktop/vika1.dat', usecols = [0, 10, 11, 12], unpack = True) 

plt.errorbar(mass, np.log10(p) - 4, yerr = [np.log10(p) - np.log10(p-errl), np.log10(p + errp) - np.log10(p)], fmt = 'o', markerfacecolor = 'w', markeredgecolor = 'k', ecolor = 'k') 
+0

重なっています。また、該当する場合は、これらのプロットに 'sharex'と' sharey'を使うことをお勧めします。 –

答えて

0

軸を共有するためにsharexとshareyを使用できます。以下はあなたが望むレイアウトを与えるでしょう。特定のプロット関数を使用して個々のサブプロットをプロットすることができます。

import numpy as np 
import matplotlib.pyplot as plt 
fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True) 
X = np.linspace(-np.pi, np.pi, 256, endpoint=True) 
C, S = np.cos(X), np.sin(X) 

axes[0,0].plot(X, C, color="blue", linewidth=1.0, linestyle="-") 
axes[0,1].plot(X, C, color="orange", linewidth=1.0, linestyle="-") 
axes[1,0].plot(X, C, color="green", linewidth=1.0, linestyle="-") 
axes[1,1].plot(X, C, color="red", linewidth=1.0, linestyle="-") 
plt.subplots_adjust(wspace=0,hspace=0) 
plt.show() 

誰かが最初の答えのための私をdownvotedしている理由を理解することはできません...

以下

更新完全なコード下の行は、それによって、x軸とy軸の両方のための最小値を剪定うギャップを削除する:ラベルを回避することは私がリンクされ、重複とその答え(だけでなく、受け入れられた1)が、質問の主な一部であると信じて

from matplotlib.ticker import MaxNLocator 
axes[1,1].yaxis.set_major_locator(MaxNLocator(prune='lower')) 
axes[1,1].xaxis.set_major_locator(MaxNLocator(prune='lower')) 
+0

うん....うまくいくようです。しかし、軸上の数字が重複しないようにする方法はありますか? –