php股票K线图生成代码
此程序实现php画柱状图 //它的设计思想是:首先以用imagecreate()来生成一个空白图形;其程序实现如下: //需要两种不同的颜色,正数一个 负数一个 ,一个数据数组,$path为保存图片的地址
//此程序实现php画柱状图,开发股票网站的朋友经常会碰到在生成k线图片,现在我们来看看一款利用php根据数组数据生成k线图片。
//它的设计思想是:首先以用imagecreate()来生成一个空白图形;其程序实现如下:
//需要两种不同的颜色,正数一个 负数一个 ,一个数据数组,$path为保存图片的地址
$data = array ("-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24","-1174.58","-1865.41","1961.24");
$colors = array (array (255,0,0 ),array (0,255,0 ) );
$path = "gg15_600050.gif";
$title = "中国联通(600050)30日资金进出";
$date = array ("2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00","2010-05-20 00:00:00");
$hai = array(7203,6037,1931,9605,7405,8855,228,7771,8671,8791,1290,426,3265,4298,4809,3350,8204,8682,5523,7569,5853,593,3124,9062,3329,3236,2252,8756,2796,5164,2599,2630,1470,9779,8805,1512,1517,5635,760,1380,152,6035,2905,3163,9443,9432,5031,2838,6802,9330,1878,1333,4297,4180,3037,4527,9043,7287,3248,3448,3405,7204,2203,3974,4399,7333,4541,7033,4292,6128,9955,8603,297,6992,3282,9612,4483,8379,4016,6038,4163,3789,6896,8710,1502,1579,1712,3705,3619,5150,3007,1853,2776,3056,569,9031,6092,8600,8941,6366,5829,433,8011,9637,9106,1761,2422,9873,8186,1136,1763,3050,285,1962,775,9900,7371,2691,9051,6596,6858,6726,1527,3970,910,2621,7598,7899,6546,3678,2202,9411,6129,8352,4830,4484,6776,243,323,3946,751,7508,8173,3776,5071,3847,3318,4901,2102,7516,5251,3299,8859,2114,8711,9800,7707,5898,3489,580,5763,2470,4126,6269,5191,182,412,3043,3208,2438,6889,1732,1979,7692,3445,8214,8620,9446,4624,3615,5496,6152,213,3715,9623,1215,4757,9443,3366,2988,8043,6874,3742,4974,4812,6839,3016,5625,4656,5315,8303,8346,2315,3230,1969,1688,7381,6463,1030,8856,4691,6042,7652,8502,3839,7844,9149,4029,9465,2897,7688,3791,1458,6981,484,1290,4261,1222,9503,4881,7663,1399,2260,8066,6405,8442,722,9297,177,8426,2103,2078,3521,2280,8570,4663,6227,5784,7438,654,3036,9965,872,8306,3537,899,5888,1319,2472,9218,4853,7849,9433,1196,4880,1597,9258,7465,8138,817,1637,4201,1939,8914,1114,2232,8251,4538,7378,7438,4489,993,5269,944,2718,6633,4378,8431,155,5061,9347,1125,8865,4629,9965,4706,6263,8742,971,301);
draw(600,300,$data,$colors,$path,$title,$date);
function draw($w,$h,$data,$colors,$path,$title,$date)
{
//创建新空白图形
//箭头50像素,内容400*300
$width = $w;
$height = $h;
//取得左下角的坐标点,左边50像素和最下边50像素用于写标尺
$l_b_x = 50;
$l_b_y = $height/2;
$chartfont = 2; //图表字体
$font = 'c:/windows/fonts/simsun.ttc';//支持汉字的字体
$chartfontheight = imagefontheight($chartfont);//图表字体的大小
//取得最大的数据
$max = abs(max($data));
$max = $max>abs(min($data))?$max:abs(min($data));
$image = imagecreate($width,$height);
//填充背景为白色
$color_white = imagecolorallocate($image, 0xff, 0xff, 0xff);//白色
$color_diwen = imagecolorallocate($image,0xd8,0xd8,0xd8);//暗灰色
imagefill($image,0,0,$color_white);
//写入logo
imagettftext($image,20,0,$l_b_x+20,45,$color_diwen,$font,'华南财经网');
//画坐标
//坐标颜色为黑色,先画坐标,再画箭头
$black_color = imagecolorallocate($image,0x00,0x00,0x00);
imageline($image,$l_b_x,$l_b_y,$l_b_x,10,$black_color);
imageline($image,$l_b_x,$l_b_y,$width-10,$l_b_y,$black_color);
//箭头
imageline($image,$l_b_x,10,$l_b_x-3,14,$black_color);
imageline($image,$l_b_x,10,$l_b_x+3,14,$black_color);
imageline($image,$width-10,$l_b_y,$width-13,$l_b_y-3,$black_color);
imageline($image,$width-10,$l_b_y,$width-13,$l_b_y+3,$black_color);
//画底纹,灰色;画20条底纹;虚线
$pit = floor(($l_b_y-50)/10);//每一段的高度
$pit_x = floor(($width-$l_b_x-30)/count($data));//每一段的宽度
//计算单位
$x_max = $max;
$flag_danwei = 0;
while($x_max> 1000 )
{
$x_max /= 100;
$flag_danwei++;
}
switch($flag_danwei)
{
// case 0:$danwei = '(元)';break;
case 0:$danwei = '(万)';break;
case 1:$danwei = '(百万)';break;
case 2:$danwei = '(亿)';break;
case 3:$danwei = '(百亿)';break;
}
for($i=1;$i {
imageline($image,$l_b_x+1,$l_b_y-$i*$pit,$width-15,$l_b_y-$i*$pit,$color_diwen);
//从坐标的值
$v_v = number_format(($max/(10*pow(100,$flag_danwei))*$i),2);
$v_v = substr($v_v,0,5);
imagestring($image,
$chartfont,
$l_b_x-40,
$l_b_y-$i*$pit-10,
$v_v,
$black_color);
}
//原点坐标
imagestring($image,
$chartfont,
$l_b_x-20,
$l_b_y-10,
0,
$black_color);
//写入汉字,单位 和标题
imagettftext($image, 10,0,$l_b_x-45,20,$black_color,$font,$danwei);
//imagettftext($image, 11,0,$width/2-70,$l_b_y+20,$black_color, $font,$title);//画柱体,长方形,并着色
$color_big = imagecolorallocate($image,$colors[0][0],$colors[0][1],$colors[0][2]);
$color_small = imagecolorallocate($image,$colors[1][0],$colors[1][1],$colors[1][2]);
for($j=0;$j{
$d_h = floor(abs($data[$j]/$max*10*$pit));//柱体高度
$current_date = substr($date[$j],5,5);
// $current_date .= substr($date[$j],8,2);
imagerectangle($image,
$l_b_x+$j*$pit_x+1,
$l_b_y,
$l_b_x+($j+1)*$pit_x-2,
$l_b_y-$d_h,
$black_color);
//为矩形着色
$current_color = $data[$j]>0?$color_big:$color_small;
imagefilltoborder($image,
$l_b_x+$j*$pit_x+1 + floor($pit_x/2),
$l_b_y-floor($d_h/2),
$black_color,
$current_color);
//写入日期
/*imagestring($image,
$chartfont,
$l_b_x+$j*$pit_x,
$l_b_y+2,
$current_date,
$black_color);*/
imagettftext($image,8,90,$l_b_x+$j*$pit_x+10,$l_b_y-$d_h,$black_color,$font,$current_date);
}
if($path !="")
imagegif($image,$path);
else imagegif($image);
imagedestroy($image);
}//画图函数结束
//输出生成的图片
/*header("content-type: image/gif");
$my_colors[] = array(0xff,0x00,0x00);
$my_colors[] = array(0x00,0xff,0x00);
draw(600,400,array(1066565650,-40345340,50343433440,1834340,50343230,-8023454230,600,7232323300,-836),$my_colors,0,'教科书大阿斯顿即可');*/
//draw(600,400,array(1066,-4040,5040,1840,5030,-8230,600,7232,-836),$my_colors,0,'教科书大阿斯顿即可');
?>
本站原创教程,转载注明来源于http://www.bKjia.c0m/phper/php.html 否则必究

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment