PHP-柱状统计图出世!大家一定需要的(从ASP移植)
测试地址:http://www.portable-audio.com/tj.php
代码如下:
<?php
$total[1][1]=200;
$total[2][1]=800;
$total[3][1]=100;
$total[4][1]=600;
$total[5][1]=122;
$total[6][1]=323;
$total[7][1]=108;
$total[1][2]="中国经营报";
$total[2][2]="招聘网";
$total[3][2]="51Job";
$total[4][2]="新民晚报";
$total[5][2]="新闻晚报";
$total[6][2]="南方周末";
$total[7][2]="羊城晚报";
$total_no=7;
?>
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<style>
TD { FONT-SIZE: 9pt}
</style></head>
<body topmargin=5 leftmargin=0 scroll=AUTO>
<?php table1($total,100,20,20,30,600,400);?>
</body>
</html>
<?php
function table1($total,$table_x,$table_y,$thickness,$table_width,$all_width,$all_height)
{
/*参数含义(传递的数组,横坐标,纵坐标,柱子的厚度,柱子的宽度,图表的宽度,图表的高度,图表的类型)
php柱状统计图表函数(由ASP代码移植)
PHP源码作者: 随风飘零叶(sfply) ASP源码作者: 龚鸣(Passwordgm)
由于本函数原作者未提供应用于PHP上的代码,并且许多PHP朋友有此需要,故移植之,感谢原作者龚鸣(Passwordgm)提供了这么好的VML效果
函数。随风飘零叶 敬上!
版本2.0 最后修改日期 2004-4-2。
非常感谢您使用这个函数,请您使用、修改和转载时保留版权信息,这是对作者工作的最好的尊重。*/
$tb_color[1][1]="#d1ffd1";
$tb_color[2][1]="#ffbbbb";
$tb_color[3][1]="#ffe3bb";
$tb_color[4][1]="#cff4f3";
$tb_color[5][1]="#d9d9e5";
$tb_color[6][1]="#ffc7ab";
$tb_color[7][1]="#ecffb7";
$tb_color[1][2]="#00ff00";
$tb_color[2][2]="#ff0000";
$tb_color[3][2]="#ff9900";
$tb_color[4][2]="#33cccc";
$tb_color[5][2]="#666699";
$tb_color[6][2]="#993300";
$tb_color[7][2]="#99cc00";
$line_color="#69f";
$left_width=70;
$length=$thickness/2;
$total_no=7;
$temp1=0;
for ($i=1;$i<=$total_no;$i++)
{
if ($temp1<$total[$i][1])
{
$temp1=$total[$i][1];
}
}
$temp1=floor($temp1);
if ($temp1>9)
{
$temp2=substr($temp1,2,1);
if ($temp2>4)
$temp3=(floor($temp1/(pow(10,(strlen($temp1)-1))))+0.5)*(pow(10,(strlen($temp1)-1)));
else
$temp3=(floor($temp1/(pow(10,(strlen($temp1)-1))))+0.5)*(pow(10,(strlen($temp1)-1)));
}
else
{
if ($temp1>4)
$temp3=10;
else
$temp3=5;
}
$temp4=$temp3;
echo "<!--[if gte vml 1]><v:rect id='_x0000_s1027' alt='' style='position:absolute;left:";
echo ($table_x+$left_width)."px;top:".$table_y."px;width:".$all_width."px;height:";
echo $all_height."px;z-index:-1' fillcolor='#9cf' stroked='f'>";
echo "<v:fill rotate='t' angle='-45' focus='100%' type='gradient'/></v:rect><![endif]-->";
echo "<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;";
echo "text-align:left;top:0;flip:y;z-index:-1' from='";
echo ($table_x+$left_width)."px,".($table_y+$all_height)."px' to='";
echo ($table_x+$all_width+$left_width)."px,".($table_y+$all_height)."px'/><![endif]-->";
echo "<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;";
echo "text-align:left;top:0;flip:y;z-index:-1' from='".($table_x+$left_width)."px,";
echo $table_y."px' to='".($table_x+$left_width)."px,".($table_y+$all_height)."px'/><![endif]-->";
$table_space=($all_width-$table_width*$total_no)/$total_no;
echo "<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;";
echo "text-align:left;top:0;flip:y;z-index:-1' from='".($table_x+$left_width+$length)."px,";
echo $table_y."px' to='".($table_x+$left_width+$length)."px,";
echo ($table_y+$all_height-$length)."px' strokecolor='".$line_color."'/><![endif]-->";
for ($i=0;$i<=$all_height-1;$i=$i+$all_height/5)
{
echo "<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;";
echo "text-align:left;top:0;flip:y;z-index:-1' from='";
echo ($table_x+$left_width)."px,".($table_y+$all_height-$length-$i);
echo "px' to='".($table_x+$left_width+$length)."px,".($table_y+$all_height-$i);
echo "px' strokecolor='".$line_color."'/><![endif]-->";
echo "<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;";
echo "text-align:left;top:0;flip:y;z-index:-1' from='".($table_x+$left_width+$length);
echo "px,".($table_y+$all_height-$length-$i)."px' to='";
echo ($table_x+$all_width+$left_width)."px,".($table_y+$all_height-$length-$i);
echo "px' strokecolor='".$line_color."'/><![endif]-->";
echo "<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;";
echo "text-align:left;top:0;flip:y;z-index:-1' from='";
echo ($table_x+($left_width-15))."px,".($table_y+$i)."px' to='";
echo ($table_x+$left_width)."px,".($table_y+$i)."px'/><![endif]-->";
echo "<!--[if gte vml 1]>";
echo "<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;";
echo "left:".$table_x."px;top:".($table_y+$i)."px;width:".$left_width;
echo "px;height:18px;z-index:1'>";
echo "<v:textbox inset='0px,0px,0px,0px'>";
echo "<table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='right'>";
echo $temp4;
echo "</td></tr></table></v:textbox></v:shape><![endif]-->";
$temp4=$temp4-$temp3/5;
}
for ($i=1;$i<=$total_no;$i++)
{
$temp_space=$table_x+$left_width+$table_space/2+$table_space*($i-1)+$table_width*($i-1);
echo "<v:rect id='_x0000_s1025' alt='' style='position:absolute;left:".$temp_space."px;top:";
echo ($table_y+$all_height*(1-($total[$i][1]/$temp3)));
echo "px;width:".$table_width."px;height:".($all_height*($total[$i][1]/$temp3));
echo "px;z-index:1' fillcolor='".$tb_color[$i][2]."'>";
echo "<v:fill color2='".$tb_color[$i][1]."' rotate='t' type='gradient'/>";
echo "<o:extrusion v:ext='view' backdepth='".$thickness."pt' color='".$tb_color[$i][2]."' on='t'/>";
echo "</v:rect>";
echo "<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;";
echo "left:".$temp_space."px;top:";
echo ($table_y+$all_height*(1-($total[$i][1]/$temp3))-$table_width);
echo "px;width:".($table_space+15)."px;height:18px;z-index:1'>";
echo "<v:textbox inset='0px,0px,0px,0px'><table cellspacing='1' cellpadding='0' width='100%'
height='100%'><tr><td align='center'>";
echo $total[$i][1];
echo "</td></tr></table></v:textbox></v:shape>";
echo "<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;";
echo "left:".($temp_space-$table_space/2);
echo "px;top:".($table_y+$all_height+1)."px;width:".($table_space+$table_width)."px;height:18px;z-index:1'>";
echo "<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%'
height='100%'><tr><td align='center'>".$total[$i][2]."</td></tr></table></v:textbox></v:shape>";
}
}
?>
相关推荐
三相四桥臂电压不对称跌落补偿动态电压恢复器DVR(Simulink仿真实现)
内容概要:本文介绍了一种基于三相四桥臂拓扑结构的动态电压恢复器(DVR),用于补偿电网中由电压不对称跌落引起的电能质量问题。通过Simulink平台构建仿真模型,重点研究了在不平衡负载和电网电压跌落工况下,DVR对负载侧电压的快速补偿能力。系统采用多准PR(Proportional Resonant)并联控制策略,实现对各相电压的独立精确控制,有效抑制负序分量,提升系统在复杂工况下的稳定性和响应性能。仿真结果验证了所提控制方法在电压幅值、相位补偿及波形质量改善方面的有效性,适用于对供电连续性和电能质量要求较高的工业场景。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、科研人员及从事电能质量治理的工程技术人员。; 使用场景及目标:①研究动态电压恢复器在电压跌落、三相不平衡等典型电能质量问题中的补偿机制;②掌握三相四桥臂逆变器的建模与多准PR控制策略的设计与实现;③为高精度电能质量调节装置的研发提供理论依据和仿真验证手段。; 阅读建议:建议结合提供的参考文献和说明文档,深入理解控制算法的设计原理,并在Simulink环境中动手复现仿真模型,通过调整故障条件和控制器参数,观察系统动态响应,从而全面掌握DVR的工作特性与优化方法。
cp210x驱动与串口助手下载
usb转串口驱动
三相并网逆变器无功功率扰动+孤岛检测控制算法仿真【参考文献+仿真】
内容概要:本文档系统介绍了三相并网逆变器中基于无功功率扰动的孤岛检测控制算法仿真资源,结合Simulink仿真模型与权威参考文献,深入阐述了逆变器在并网运行中的核心控制策略。重点围绕通过主动调节无功功率实现孤岛效应的快速、可靠检测,避免非计划性孤岛运行对电网设备和人员造成安全隐患。资源内容涵盖完整的算法原理分析、控制逻辑架构设计、Simulink仿真模型搭建流程及关键参数整定方法,帮助使用者深刻理解无功扰动法在实际系统中的应用机制,掌握其在不同工况下的动态响应特性和检测盲区规避策略,确保电网的安全稳定运行。; 适合人群:电力电子、新能源发电、电气工程及其自动化等相关专业的高校硕士、博士研究生,从事光伏发电、风力发电等新能源并网系统研发的工程技术人员,以及致力于电力系统保护与控制领域研究的科研人员。; 使用场景及目标:①深入研究并掌握基于无功功率扰动的孤岛检测技术在三相并网逆变器中的具体实现方法与优化路径;②支撑高校课程设计、毕业课题、科研项目申报及工程实践中的仿真验证,深化对并网保护、电网阻抗变化影响及控制策略鲁棒性的理解;③服务于高水平学术论文(如SCI期刊)的算法复现、对比分析与创新性改进。; 阅读建议:建议学习者紧密结合所提供的参考文献与Simulink仿真模型进行同步研习,重点关注控制模块的搭建细节、无功扰动注入方式的选择与参数设计,通过反复仿真调试,探究不同负载条件下孤岛检测的触发阈值与响应时间,从而全面掌握该算法的核心要点与工程应用技巧。
Special-Comfy-part1.7z.011
ComfyUI专用模型资源分卷压缩包,Special-Comfy-part1系列第011卷。7z分卷格式,单卷900MB,需配合全部分卷解压使用。
OpenChiip数字员工开源.docx
OpenChiip数字员工开源


基础编程
