【问题标题】:How to display a graph in ipython notebook如何在 ipython 笔记本中显示图形
【发布时间】:2016-02-24 15:41:13
【问题描述】:

尝试在 SymPy 中进行一些绘图 -

根据this video 我写过:

from sympy.plotting import plot, plot_parametric

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

但是在评估那个单元之后我没有得到任何输出?没有错误或 任何东西,它只是不显示任何东西。

另一个测试:

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 上运行它。它运行的虚拟环境可以在上面的粘贴链接中看到

【问题讨论】:

    标签: python python-3.x scipy ipython ipython-notebook


    【解决方案1】:

    您需要使用magic functions,更具体地说是matplotlib:

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

    使用 Python 3.4 Nov '15 的可运行示例:

    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)
    

    【讨论】:

    • 这是正确的谢谢,我没有在我关注的指南上注意到这一点,但现在可以使用
    【解决方案2】:

    要在 IPython 笔记本中内联显示绘图,您需要启用 matplotlib 的内联后端。你可以通过运行来做到这一点

    %matplotlib inline
    

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 2015-04-07
      • 1970-01-01
      • 2015-08-21
      相关资源
      最近更新 更多