前些日子开发了尚帝网的订单和会员注册管理模块,需要用到画曲线图柱状图和饼图。用了一个php和flash库,叫做
PHP/SWF Charts ,官方网站
http://www.maani.us/charts/index.php?menu=Introduction,仔细阅读一下帮助信息。
PHP/SWF Charts 是一个很强大的php+flash画图的库,不仅仅可以画曲线图,还可以画各种各样的柱状图,3D柱状图,多彩柱状图(官方写 Stacked column 直接翻译 妖艳的柱状图 ||-_-)..饼图,条状图,各类的混合图等等。

基本上不用使用js,直接按照它说明的格式,用php传递参数过去就可以了。
使用方法:
要显示图的页面
demo.php
<?php
include_once("charts/charts.php"); ##包含库文件
$month = $_GET["month"];
if($month=="") $month = date("m",time()); //没有输入就显示当月
echo InsertChart("charts/charts.swf","charts/charts_library","userstat.php?month=$month",700,300,"22");
?>
传递参数的页面
userstat.php
<?php
include_once("../global.php");
include_once("../common/order.inc.php");
include "charts/charts.php"; ##包含库函数
$month = $_GET["month"]; ##获取月份
##按月份获取注册用户
$user_arr = GetUserReg($starttime="2008-".$month."-1",$endtime="2008-".$month."-31",$between="");
##按月份获取订单数量
$orders_arr = GetOrderCount($starttime="2008-".$month."-1",$endtime="2008-".$month."-31",$between="");
//pr($orders_arr);
##设置曲线图显示的颜色
$chart [ 'series_color' ] = array ("0000FF","FF0000","FFCC00");
if(isset($user_arr[0]))
{
$createday_arr[] = "时间";
$count_arr[] = $month."月份会员人数曲线";
$orders[] = $month."月份订单数曲线";
foreach($user_arr as $k=>$v)
{
$count_arr[] = $v[count];
$datetime[] = $v[createday];
$orders[] = $orders_arr[$k][count];
}
}else
{
$datetime = array("时间");
$count_arr = array($month."月份没数据");
}
$chart ['chart_data'] = array(
$datetime,
$count_arr,
$orders
);
##
PHP/SWF Charts 显示中文的方法$chart['legend_label'] = array ("font" => '黑体',"size"=>"12");
##设置显示的类型,line表示曲线图,Pie 表示饼图,column 表示柱状图,
说明文档里有详细说明
$chart [ 'chart_type' ] = array ( "line","line" );
##发送数据
SendChartData ($chart);
?>