一直想使用python在WEB上生成漂亮的图表,但一直找不到好的开源软件。经过几天的努力终于实现了使用pyofc2绘制基于FLASH的图表,下面把我的步骤写下来供大家参考:
1、下载open flash chart 在http://teethgrinder.co.uk/open-flash-chart-2/downloads.php(这里注意下载过来的open-flash-chart.swf好像有点问题,我始终无法使用这个文件绘制出稍微复杂一些的图表,最后还是在pyofc2的demo上http://btbytes.github.com/pyofc2/open-flash-chart.swf
重新下载了open-flash-chart.swf后才可以),安装比较简单,我是使用phtyon的,直接把js目录和open-flash-chart.swf放到web服务器的根目录就可以了,我使用的是web.py所以我放在static这个目录下
2、下载pyofc2,这个在pypi上下载就可以了,解压后在目录下执行:python setup.py install等一会就可以安装成功了(可能需要连接上互联网,下载一些依赖模块)
3、open flash chart的使用还是比较简单的,强烈建议你访问http://teethgrinder.co.uk/open-flash-chart-2/tutorial.php,这上面有最基础的东西,我这里只会写一些在python里需要注意的东西
首先我的python版本是2.6,使用的WEB环境为web.py,使用前需要把js目录和open-flash-chart.swf放到static这个目录下,下面是一个示例,该示例在一个页面里显示两个不同的图表:
chart.py:
#-* -coding: UTF-8 -* -
#create by qh 2012-04-06 for test pyofc2
import web
import urllib
from web import form
from pyofc2 import *
import time
urls = (
)
app = web.application(urls, globals())
class index:
class chart:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pyofc2 test</title>
<script type="text/javascript" src="/static/js/json/json2.js"></script>
<script type="text/javascript" src="/static/js/swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("/static/open-flash-chart.swf", "my_chart1", "350", "200", "9.0.0");
swfobject.embedSWF("/static/open-flash-chart.swf", "my_chart2", "650", "400", "9.0.0");
</script>
<script type="text/JavaScript">
function ofc_ready()
{
}
function open_flash_chart_data()
{
}
function findSWF(movieName) {
}
var data1 =$:chart1;
var data2 =$:chart2;
<!--
//-->
</script>
</head>
<body>
<div align="center">
<p>chart1 end</p>
</div>
<div align="center">
<div align="center">chart2 begin </div>
<div id="my_chart2"></div>
<p> </p>
</body>
</html>