关于给图表添加图例——当然,是在没有图例的情况下 例如这样一段代码(在Yii框架内,只能写成这样,懒得改成普通JS的样子了): /*初始化*/ $cs->registerScript('f1','var chart;'); $cs->registerScript('f2','var newValueAxis;'); $cs->registerScript('f3','var addAxis;'); $cs->registerScript('f4','var removeAxis;'); $cs->registerScript('f5','chart = new AmCharts.AmSerialChart();'); $cs->registerScript('f6','chart.pathToImages = "images/amcharts/";'); $cs->registerScript('f7','chart.addListener("dataUpdated");'); $cs->registerScript('f9','chart.marginLeft = 130;'); $cs->registerScript('f10','chart.marginRight = 50;'); $cs->registerScript('f11','chart.dataProvider = '.$j.';');//源数据 $cs->registerScript('f12','chart.categoryField = "d";'); $cs->registerScript('f13','chart.categoryAxis.parseDates = true;'); /*画第一条线——扫描*/ $cs->registerScript('f14','var valAxis1 = new AmCharts.ValueAxis();'); $cs->registerScript('f15','valAxis1.axisColor = "#FF6600";'); $cs->registerScript('f16','valAxis1.axisThickness = 2;'); $cs->registerScript('f17','chart.addValueAxis(valAxis1);'); $cs->registerScript('f18','var graph1 = new AmCharts.AmGraph();'); $cs->registerScript('f19','graph1.valueAxis = valAxis1;'); $cs->registerScript('f20','graph1.valueField = "s";'); $cs->registerScript('f100','graph1.title = "'.$gt[0].'";');//图例名 $cs->registerScript('f21','graph1.type = "smoothedLine";'); $cs->registerScript('f22','graph1.bullet = "round";');// $cs->registerScript('f23','graph1.hideBulletsCount = 30;'); $cs->registerScript('f24','chart.addGraph(graph1);'); /*画第二条线——插入*/ $cs->registerScript('f25','var valAxis2 = new AmCharts.ValueAxis();'); $cs->registerScript('f26','valAxis2.position = "right";'); $cs->registerScript('f27','valAxis2.axisColor = "#FCD202";'); $cs->registerScript('f28','valAxis2.gridAlpha = 0;'); $cs->registerScript('f29','valAxis2.axisThickness = 2;'); $cs->registerScript('f30','chart.addValueAxis(valAxis2);'); $cs->registerScript('f31','var graph2 = new AmCharts.AmGraph();'); $cs->registerScript('f32','graph2.valueAxis = valAxis2;'); $cs->registerScript('f33','graph2.valueField = "i";'); $cs->registerScript('f101','graph2.title = "'.$gt[1].'";');//图例名 $cs->registerScript('f34','graph2.type = "smoothedLine";'); $cs->registerScript('f35','graph2.bullet = "square";');// $cs->registerScript('f36','graph2.hideBulletsCount = 30;'); $cs->registerScript('f37','chart.addGraph(graph2);'); /*画第三条线——更新*/ $cs->registerScript('f38','valAxis3 = new AmCharts.ValueAxis();'); $cs->registerScript('f39','valAxis3.offset = 50;'); $cs->registerScript('f40','valAxis3.gridAlpha = 0;'); $cs->registerScript('f41','valAxis3.axisColor = "#B0DE09";'); $cs->registerScript('f42','valAxis3.axisThickness = 2;'); $cs->registerScript('f43','chart.addValueAxis(valAxis3);'); $cs->registerScript('f44','var graph3 = new AmCharts.AmGraph();'); $cs->registerScript('f45','graph3.valueField = "u";'); $cs->registerScript('f46','graph3.bullet = "triangleUp";');// $cs->registerScript('f47','graph3.hideBulletsCount = 30;'); $cs->registerScript('f102','graph3.title = "'.$gt[2].'";');//图例名 $cs->registerScript('f48','graph3.type = "smoothedLine";'); $cs->registerScript('f49','graph3.valueAxis = valAxis3;'); $cs->registerScript('f50','chart.addGraph(graph3);'); /*画第四线——处理*/ $cs->registerScript('f58','valAxis4 = new AmCharts.ValueAxis();'); $cs->registerScript('f59','valAxis4.offset = 100;'); $cs->registerScript('f60','valAxis4.gridAlpha = 0;'); $cs->registerScript('f61','valAxis4.axisColor = "#2742FC";'); $cs->registerScript('f62','valAxis4.axisThickness = 2;'); $cs->registerScript('f63','chart.addValueAxis(valAxis4);'); $cs->registerScript('f64','var graph4 = new AmCharts.AmGraph();'); $cs->registerScript('f65','graph4.valueField = "de";'); $cs->registerScript('f66','graph4.bullet = "triangleDown";');// $cs->registerScript('f67','graph4.hideBulletsCount = 30;'); $cs->registerScript('f103','graph4.title = "'.$gt[3].'";');//图例名 $cs->registerScript('f68','graph4.type = "smoothedLine";'); $cs->registerScript('f69','graph4.valueAxis = valAxis4;'); $cs->registerScript('f70','chart.addGraph(graph4);'); /*图解*/ $cs->registerScript('f71','var legend;'); $cs->registerScript('f72','legend = new AmCharts.AmLegend();'); $cs->registerScript('f73','legend.align = "center";'); $cs->registerScript('f74','legend.labelText="[[title]]";'); $cs->registerScript('f75','legend.valueText="[[value]]";'); $cs->registerScript('f77','legend.position="bottom";'); $cs->registerScript('f79','legend.valueAlign="left";'); $cs->registerScript('f76','chart.addLegend(legend);'); /**/ $cs->registerScript('f51','var chartCursor = new AmCharts.ChartCursor();'); $cs->registerScript('f52','chart.addChartCursor(chartCursor);'); $cs->registerScript('f53','var chartScrollbar = new AmCharts.ChartScrollbar();'); $cs->registerScript('f54','chartScrollbar.graph = graph1;'); $cs->registerScript('f55','chart.addChartScrollbar(chartScrollbar);'); $cs->registerScript('f56','chart.write("oplog_result_chart");'); $cs->registerScript('f57','function zoom(){chart.zoomToIndexes(0,10);}'); 其他乱七八糟的就不多说了。 下面是设置图表时: $cs->registerScript('f100','graph1.title = "'.$gt[0].'";');//设置这个graph的title,用于在legend中显示 $cs->registerScript('f21','graph1.type = "line";');//设置这个graph的线条样式 $cs->registerScript('f22','graph1.bullet = "round";');//拐点的样式 下面是图例: $cs->registerScript('f71','var legend;'); $cs->registerScript('f72','legend = new AmCharts.AmLegend();'); $cs->registerScript('f73','legend.align = "center";');//图例的水平位置 $cs->registerScript('f74','legend.labelText="[[title]]";');//图例的文字,值为[[title]]与上面设置的graph的title相对应 $cs->registerScript('f75','legend.valueText="[[value]]";');//图例的值,显示鼠标所指的位置的值,显示在相应图例的后面 $cs->registerScript('f77','legend.position="bottom";');//图例的整体位置 $cs->registerScript('f79','legend.valueAlign="left";'); $cs->registerScript('f76','chart.addLegend(legend);');