2015-11-22 69 views
2

試圖做一些繪圖中SymPy -如何顯示在IPython的筆記本圖形

this video我已經寫:

from sympy.plotting import plot, plot_parametric 

e = sin(2*sin(x**3)) 
plot(e, (x, 0, 5)); 

但evaling該小區我沒有得到任何輸出後?沒有任何錯誤或 什麼,它只是不顯示任何東西。

另一項測試:

from sympy import * 
from sympy.plotting import plot, plot_parametric 
import math 
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 


expr = x**2 + sqrt(3)*x - Rational(1, 3) 
lf = lambdify(x, expr) 

fig = plt.figure() 
axes = fig.add_subplot(111) 

x_vals = np.linspace(-5., 5.) 
y_vals = lf(x_vals) 

axes.grid() 
axes.plot(x_vals, y_vals) 

plt.show(); 

所以林不知道我在做什麼錯在這裏,我沒有得到任何錯誤,但?

如果虛擬環境中的內容是任何利息這裏有一個樹: venv

我在Linux Ubuntu上運行此。虛擬環境,它的運行中可以在上面粘貼鏈接可以看出

回答

3

您需要使用magic functions,更具體藥粥matplotlib

%matplotlib qt # displays a pop-up of the plot 
%matplotlib inline # keeps it within the notebook 

使用Python 3.4十一月'15 Runnable的例子:

from sympy import * 
from sympy.plotting import plot, plot_parametric 
import math 
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 

%matplotlib inline 

expr = x**2 + sqrt(3)*x - Rational(1, 3) 
lf = lambdify(x, expr) 

fig = plt.figure() 
axes = fig.add_subplot(111) 

x_vals = np.linspace(-5., 5.) 
y_vals = lf(x_vals) 

axes.grid() 
axes.plot(x_vals, y_vals) 
+0

做到這一點,這是正確的,謝謝,我沒上,我是繼指南注意到這一點,但現在這個工作 – baxx

2

要讓圖表在IPython筆記本上內聯顯示,您需要啓用matplotlib的內聯後端。您可以通過運行

%matplotlib inline 
+0

這似乎是正確的答案 –