PHP实现股票趋势图和柱形图_第1页
PHP实现股票趋势图和柱形图_第2页
PHP实现股票趋势图和柱形图_第3页
PHP实现股票趋势图和柱形图_第4页
PHP实现股票趋势图和柱形图_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——PHP实现股票趋势图和柱形图PHP实现股票趋势图和柱形图

文章主要介绍了PHP实现股票趋势图和柱形图,本文效果基于pchart类库实现,给出实现代码和效果图,需要的`挚友可以参考下。

基于强大的pchart类库。?php

/*

*股票趋势图和柱形图

*@author:Skiychandeveloper@

*@created:02/05/2022

*/

includelibs/pData.class.php;

includelibs/pDraw.class.php;

includelibs/pImage.class.php;

includedatabase.php;

includelibs/convert.php;

date_default_timezone_setAsia/Shanghai;

/*

*@paramtypeline/other趋势图/柱形图默认趋势图

*@paramtxt1/other显示/不显示提示文字默认不显示

*@paramlanghk/cn繁体中文/简体中文默认繁体

*@paramidint股票编号必填

*@paramminint最小时间默认无

*@parammaxint最大时间默认无

*/

$type=isset$_GET[type]?$_GET[type]:line;

$showtxt=isset$_GET[txt]$_GET[txt]==1?true:false;

//设置语言

ifisset$_GET[lang]

$lang=$_GET[lang]==cn?cn:hk;

else

$lang=hk;

$desc_tip=array

hk=array

line=array昨日收盤價,股價,

bar=總成交量:

,

cn=array

line=array昨日收盘价,股价,

bar=总成交量:

;

$id=isset$_GET[id]?int$_GET[id]:1;//股票编码

//条件

$wheres=wherestock_no=.$id;

//最小时间

ifisset$_GET[min]

$wheres.=and`created`=.int$_GET[min];

//最大时间

ifisset$_GET[max]

$wheres.=and`created`=.int$_GET[max];

$wheres.=orderbycreated;

$sth=$dbh-prepareSELECT*FROM$tb_name.$wheres;

$sth-execute;

$results=$sth-fetchAllPDO::FETCH_ASSOC;

if$lang==hk

$ttf_path=fonts/zh_hk.ttc;

else

$ttf_path=fonts/zh_cn.ttf;

//初始化

$line2=array;//股价

$bar=array;//成交量

$times=array;//时间

foreach$resultsas$keys=$values:

$line2[]=$values[current_price];

PHP实现股票趋势图和柱形图

$bar[]=$values[volume];

//只显示整点的标签

if$keys%4==0

$times[]=$values[created];

else

$times[]=VOID;

endforeach;

$l2counts=count$line2;

$myData=newpData;

//假设是线型图

if$type==line

//取股票名称

$stock_sth=$dbh-prepareSELECT`name`FROM`tbl_stock`WHERE`code`=$id;

$stock_sth-execute;

$stock_info=$stock_sth-fetchPDO::FETCH_ASSOC;

$func_name=zhconversion_.$lang;

//$stock_name=$func_name$stock_info[name];

$stock_name=某某公司;

//取出最值

$sql=SELECTMIN`current_price`xiao,MAX`current_price`daFROM$tb_name$wheres;

foreach$dbh-query$sql,PDO::FETCH_ASSOCas$row

$bottom=int$row[xiao]-2;

$top=int$row[da]+2;

//昨日收盘价

$l1s=array;

for$i=1;$i=$l2counts;$i++

$l1s[]=130;

$myData-addPoints$l1s,Line1;

$myData-addPoints$line2,Line2;

$myData-setPaletteLine1,arrayR=51,G=114,B=178;

$myData-setPaletteLine2,arrayR=0,G=255,B=0;

$myData-setAxisPosition0,AXIS_POSITION_RIGHT;

$myData-addPoints$times,Times;

$myData-setSerieDescriptionTimes,Time;

$myData-setAbscissaTimes;

$myData-setXAxisDisplayAXIS_FORMAT_TIME,H:i;

$myPicture=newpImage480,300,$myData;

//设置默认字体

$myPicture-setFontPropertiesarrayFontName=fonts/en_us.ttf,FontSize=6;

//背景颜色

//$Settings=arrayStartR=219,StartG=231,StartB=139,EndR=1,EndG=138,EndB=68,Alpha=50;

//$myPicture-drawGradientArea0,0,480,300,DIRECTION_VERTICAL,$Settings;

//画格子和标签

$myPicture-setGraphArea10,40,440,260;

$AxisBoundaries=array0=arrayMin=$bottom,Max=$top;

$Settings=array

Mode=SCALE_MODE_MANUAL,

GridR=200,

GridG=200,

GridB=200,

XMargin=0,

YMargin=0,

//DrawXLines=false,

GridTicks=3,//格子密度

ManualScale=$AxisBoundaries,

;

$myPicture-drawScale$Settings;

//画线

/*

$line_arr=array

ForceColor=TRUE,

ForceR=0,

ForceG=0,

ForceB=255;

$myPicture-drawLineChart$line_arr;*/

$myPicture-drawLineChart;

//设置Line1为无效,再画底色

$myData-setSerieDrawableLine1,FALSE;

//画区域底线

$area_arr=array

ForceTransparency=15,//通明度

;

$myPicture-drawAreaChart$area_arr;

//是否显示文字

if$showtxt

//标题

$myPicture-drawText200,30,$stock_name,arrayFontName=$ttf_path,FontSize=11,Align=TEXT_ALIGN_BOTTOMMIDDLE;

//设置Line1为有效

$myData-setSerieDrawableLine1,TRUE;

PHP实现股票趋势图和柱形图

$myData-setSerieDescriptionLine1,$desc_tip[$lang][line][0];

$myData-setSerieDescriptionLine2,$desc_tip[$lang][line][1];

$myPicture-setFontPropertiesarrayFontName=$ttf_path,FontSize=8;

$tips=array

Style=LEGEND_NOBORDER,

Mode=LEGEND_HORIZONTAL,

FontR=0,FontG=0,FontB=0,

;

$myPicture-drawLegend20,26,$tips;

//柱形图

else

$myData-addPoints$bar,Bar;

$myData-setPaletteBar,arrayR=51,G=114,B=178;//设置柱子的颜色

$myData-addPoints$times,Times;

$myData-setSerieDescriptionTimes,Time;

$myData-setAbscissaTimes;

$myData-setXAxisDisplayAXIS_FORMAT_TIME,H:i;

$myPicture=newpImage480,200,$myData;

//设置默认字体

$myPicture-setFontPropertiesarrayFontName=fonts/en_us.ttf,FontSize=6;

$myPicture-Antialias=FALSE;

$myPicture-setGraphArea50,20,450,180;

//网格及坐标

$scaleSettings=array

Mode=SCALE_MODE_START0,

GridR=200,

GridG=200,

GridB=200;

$myPicture-drawScale$scaleSettings;

/*

$Palette=array;

for$i=0;$i=$l2counts;$i++

$Palette[$i]=arrayR=74,G=114,B=178,Alpha=100;

//$Palette=array0=arrayR=74,G=114,B=178,Alpha=100;

/*笼罩画板色

$barSetting=array

OverrideColors=$Palette,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论