我的要求是用cherrypy和matplotlib在网页上绘制一个条形图。我可以加载图形,但无法在鼠标移过绘图时获得坐标。谁能建议我怎么才能得到我必须使用的coordinates.Do或matplotlib可以满足要求。代码看起来与下面的代码类似
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
class HelloWorld:
def index(self):
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3])
fig.savefig('test.png')
return ''' <img src="test.png" width="640" height="480" border="0" /> '''
index.exposed = True
import os.path
tutconf = os.path.join(os.path.dirname(__file__), 'tutorial.conf')
if __name__ == '__main__':
cherrypy.quickstart(HelloWorld(), config=tutconf)
else:
cherrypy.tree.mount(HelloWorld(), config=tutconf)发布于 2015-01-22 22:04:22
我的要求是用cherrypy和matplotlib在网页上绘制一个条形图。
因此,如果这是您唯一的需求,那么您已经接近解决方案:在服务器端创建绘图文件并将其交付给客户机。
然而,这似乎不是唯一的要求(当你向别人寻求帮助时,你真的需要更好地表达你想要实现的目标):
无法获取鼠标悬停绘图时的坐标
这是客户端必须发生的事情,也就是在浏览器中。因此,这是由浏览器在您的网站上下文中执行的JavaScript代码的任务。
因此,如果您无论如何都要使用JavaScript,那么最好只为客户端(浏览器)提供数据,让众多JavaScript绘图框架中的一个框架来处理绘图。这样,您就节省了服务器上的一些负载(matplotlib绘图实际上相当占用CPU资源),同时也节省了带宽。
你可能想看看http://www.chartjs.org。
https://stackoverflow.com/questions/28089809
复制相似问题