【发布时间】:2018-04-08 22:36:39
【问题描述】:
我想通过编写 web2py 函数 myplot4() 在 web2py 中绘制一个 sympy 绘图并使用它调用它 http://host:port/app/controller/myplot4.png
这是在 python shell 中工作的绘图的演示 sympy 代码。
from sympy import symbols
from sympy.plotting import plot
x = symbols('x')
p1 = plot(x*x)
p2 = plot(x)
p1.append(p2[0])
p1
我在http://www.web2pyslices.com/slice/show/1357/matplotlib-howto找到了一个食谱
这个配方工作正常,但它导入了 FigureCanvasAgg 和 Figure 而在 sympy 中导入的是绘图函数
有人可以告诉我如何根据这个配方(或其他方式)编写类似的函数来在 web2py 中绘制 sympy 图
from matplotlib.backends.backend_agg
import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
def pcolor2d(title='title',xlab='x',ylab='y',
z=[[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]):
fig=Figure()
fig.set_facecolor('white')
ax=fig.add_subplot(111)
if title: ax.set_title(title)
if xlab: ax.set_xlabel(xlab)
if ylab: ax.set_ylabel(ylab)
image=ax.imshow(z)
image.set_interpolation('bilinear')
canvas=FigureCanvas(fig)
stream=cStringIO.StringIO()
canvas.print_png(stream)
return stream.getvalue()
然后尝试以下操作:
def myplot2():
response.headers['Content-Type']='image/png'
return pcolor2dt(z=[[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]])
并调用他们
【问题讨论】:
标签: python matplotlib plot web2py sympy