从 sympy 导入绘图失败

Posted

技术标签:

【中文标题】从 sympy 导入绘图失败【英文标题】:from sympy import Plot fail 【发布时间】:2015-01-27 06:33:15 【问题描述】:

我正在使用三种不同的方式来导入 Plot 函数。都失败了。 1:

from sympy import *
if __name__ == '__main__':
    pp1,pp2,el1,el2=insline(0,0,4,0,1.5,1,1.5,1)
    print pp1.evalf(),pp2.evalf()
    p=Plot()
    p[0]=el1
    p[1]=el2
    p[2]=Segment(pp1,pp2)
    p.show()

演出:

Traceback (most recent call last):
File "C:\Users\Erdong\workspace\Gungeo\src\gungeo.py", line 39, in <module>
p=Plot()

NameError: name 'Plot' 未定义

2:

from sympy import Point, Ellipse, intersection, Segment,plot
import math
def
...

if __name__ == '__main__':
    pp1,pp2,el1,el2=insline(0,0,4,0,1.5,1,1.5,1)
    print pp1.evalf(),pp2.evalf()
    p=plot.Plot()
    p[0]=el1
    p[1]=el2
    p[2]=Segment(pp1,pp2)
    p.show()

演出:

Traceback (most recent call last):
File "C:\Users\Erdong\workspace\Gungeo\src\gungeo.py", line 39, in <module>
p=plot.Plot()
AttributeError: 'function' object has no attribute 'Plot'

3.

from sympy import Plot

演出:

Traceback (most recent call last):
File "E:\Project\Build up\programming\learn\learn.py", line 7, in <module>
from sympy import Plot
ImportError: cannot import name Plot

请帮助如何从 sympy-0.7.6 导入 Plot。

我也试过: 从 sympy.plotting.pygletplot 导入 PygletPlot 作为 Plot 但也有错误: 回溯(最近一次通话最后): 文件“C:\Users\Erdong\workspace\Gungeo\src\gungeo.py”,第 92 行,在 p=绘图(el1) 文件“C:\Python27\lib\site-packages\sympy\plotting\pygletplot__init__.py”,第 139 行,在 PygletPlot 导入图 文件“C:\Python27\lib\site-packages\sympy\plotting\pygletplot\plot.py”,第 16 行,在 从 plot_axes 导入 PlotAxes 文件“C:\Python27\lib\site-packages\sympy\plotting\pygletplot\plot_axes.py”,第 7 行,在 从 util 导入 strided_range,billboard_matrix 文件“C:\Python27\lib\site-packages\sympy\plotting\pygletplot\util.py”,第 8 行,在 def get_model_matrix(array_type=c_float, glGetMethod=glGetFloatv): NameError:名称“c_float”未定义

【问题讨论】:

【参考方案1】:

看看http://docs.sympy.org/latest/modules/plotting.html。应该是

from sympy import symbols
from sympy.plotting import plot
x = symbols('x')
p = plot(x)

【讨论】:

我想绘制一个椭圆,它具有 sympy 格式,例如 $Ellipse(Point(0,0),2.3)$。作为参考,我没有看到“绘图”可以用于椭圆绘图。只有“Plot”才能做到这一点。【参考方案2】:

也许你想要使用 pyglet 的旧 Plot:

from sympy.plotting.pygletplot import PygletPlot as Plot

【讨论】:

得到错误:NameError: name 'c_float' is not defined

以上是关于从 sympy 导入绘图失败的主要内容,如果未能解决你的问题,请参考以下文章

从使用 glob 导入的多个文件中绘图

在 Heroku 上导入 matplotlib 失败

为啥从命令行运行时导入失败,而从 PyCharm 运行导入成功?

python导入绘图库的代码

从 vertica 导入 sqoop 失败

R: 导入 csv 文件,导出到csv文件,;绘图后导出为图片pdf等