2017-01-08 11 views
5

私はジュピターノートブックを持っていて、1つのセルにプロットを作成し、次にそれを説明するマークダウンを書き、次に限界を設定してプロットします。これまでのコードです:次のジュピターセルでプロットを再利用する方法

# %% 
%matplotlib inline 
import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0, 2 * np.pi) 
y = np.sin(x ** 2) 

plt.plot(x, y); 

# %% 
Some markdown text to explain what's going on before we zoom in on the interesting bit 

# %% 
plt.xlim(xmax=2); 

各セルの先頭には#%%とマークされています。 3番目のセルに空の図が表示されます。

plt.subplots(2)私は1つのセルから2つのプロットをプロットすることに気付いていますが、プロット間にマークダウンはできません。

ご協力いただきありがとうございます。

答えて

3

このanswer to a similar questionは、前のセルからあなたaxesfigureを再利用することができます言う:。第二コールでは、あなたはその後も(あなたに新しい細胞について%%表記法を使用して)のようなので、何かにズームインするplt.xlimを呼び出すことができます。セルの最後の要素としてfigureがあれば、そのグラフは再表示されます。

+0

'pandas'を使っているなら、プロット関数は' matplotlib Axes'オブジェクトを返します。あなたは 'ax = df.plot()'のようなことをすることができ、その後のセルで 'ax.get_figure()'を実行することができます。これはFigureを元に戻します – blokeley

2

私が考えることができる最も簡単なことは、あなたが2回呼び出すことができる関数にプロットを抽出することです。

# %% 
%matplotlib inline 
import matplotlib.pyplot as plt 
import numpy as np 

# %% 
def make_plot(): 
    x = np.linspace(0, 2 * np.pi) 
    y = np.sin(x ** 2) 
    plt.plot(x, y); 

make_plot() 

# %% 
Some markdown text to explain what's going on before we zoom in on the interesting bit 

# %% 
make_plot() 
plt.xlim(xmax=2) 
+0

これはわかりやすいですね!私は他の人が同じ必要性を持っていると思っていました。ご回答有難うございます。すぐに誰もチップがなければ、私はそれに答えてマークします。 – blokeley

関連する問題