今天,在Django中试用了几种显示饼形图的功能.
第一个用的是一个收费的xml-charts,这个工具从官方网站下来载来来,把swf放到你的media/charts目录就可以了.
看着例子也比较好用.,但是在Django下我要根据Web上选择的不同的选项进行显示不同数据的Chart,这就麻烦了.
这个玩意支持.比如:
def StatGoods(request):
begind=request.GET.get('begind','')
begind=request.GET.get('begind','')
return render_to_response('chart.html')
由于chart.html中包含Flash对象,他调用一个数据文件.比如这个数据文件的URL是
/statgoods/result/
def statgoodsresult(request):
return HttpResponse("<....>")
这样,不能根据参数进行动态的选择生成的数据,想了半天也没有想出办法.
双在网上找FusionCharts,结果发现这个功能不错.现在变成免费使用的了,他支持从XML字符串显示传入数据.
这样,就可以在调用chart.html这个模板中,加入动态的数据显示出来,他有一个dataXML可以显示.
但是试了结果,发现中文的横座标文字可以显示,但是纵坐标上的中文没有显示,只能显示英文,应该是一个Bug吧.
明天接着研究,要不然,这个也不能用了.
官方的说明里有一句.
You can use multi-lingual characters in all the charts in FusionCharts suite. However, any rotated text on chart cannot show non-English characters . That is, if you want to use multi-lingual characters, you'll need to show horizontal x-axis labels without being rotated (using <graph rotateNames='0' ..> ).
还用加黑的字体标出来,看来真的不能在纵坐标上显示中文了.明天研究有什么办法.