查询数据库绘制历史曲线

ops/2024/10/17 17:42:16/

<?php

include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_line.php");
//
// 假定数据库用户名:root,密码:123456,数据库:RUNOOB 
$con=mysqli_connect("localhost","root","123456","login"); 
$data3=array(10,1,2,3,4,5);
$i=0;
if (mysqli_connect_errno($con)) 

    echo "连接 MySQL 失败: " . mysqli_connect_error(); 

 
$sql="SELECT * FROM savedata WHERE id<73 order by id";
$result=mysqli_query($con,$sql);
 
// 数字数组
   while($row=mysqli_fetch_array($result)){
            // echo $row["dataval0"];
             $data3[$i]=$row["dataval0"];

             $i=$i+1;

             /*显示数据结果*/

      }
 

 
// 释放结果集
mysqli_free_result($result);
 
mysqli_close($con);

///
$data1 = array(523,634,371,278,685,587,490,256,398,545,367,1577);  //第一条曲线的数组
$data2 = array(19,23,34,38,45,67,71,78,85,87,90,96,109);              //第二条曲线的数组
// print_r($data3);

$graph = new Graph(800,400,"auto");                               //创建新的Graph对象
$graph->SetScale("textlin");
$graph->SetShadow();                                              //设置图像的阴影样式

$graph->img->SetMargin(60,30,30,70);                              //设置图像边距(相对图片顶部)
$graph->title->Set("用电量图");                                  //设置图像标题
$graph->title->SetMargin(15);                                      //设置标题的边距

//$lineplot1=new LinePlot($data1); 
$lineplot1=new LinePlot($data3);                                //创建设置两条曲线对象
$lineplot2=new LinePlot($data2);

$lineplot1->value->Show();
$lineplot1->value->SetColor("black");

$lineplot1->mark->SetType(MARK_FILLEDCIRCLE);  //设置数据坐标点为圆形标记
$lineplot1->mark->SetFillColor("red");         //设置填充的颜色
$lineplot1->mark->SetWidth(2);                 //设置圆形标记的直径为4像素
$lineplot1->SetColor("blue");                  //设置折形颜色为蓝色
$lineplot1->SetCenter();                       //在X轴的各坐标点中心位置绘制折线

$graph->Add($lineplot1);                       //将曲线放置到图像上
$lineplot1->value->Show(); 

//

$lineplot2->mark->SetType(MARK_FILLEDCIRCLE);  //设置数据坐标点为圆形标记
$lineplot2->mark->SetFillColor("green");         //设置填充的颜色
$lineplot2->mark->SetWidth(2);                 //设置圆形标记的直径为4像素
$lineplot2->SetColor("blue");                  //设置折形颜色为蓝色

//

                     
$graph->Add($lineplot2);
$lineplot2->value->Show();

$graph->xaxis->title->Set("小时");              //设置坐标轴名称
$graph->yaxis->title->Set("用电量(kwh)");
$graph->xaxis->title->SetMargin(10);
$graph->yaxis->title->SetMargin(10);

$graph->title->SetFont(FF_SIMSUN,FS_BOLD);          //设置字体
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);

//设置x轴各值,传入一维数组
//参数:$gDateLocale->GetShortMonth()  底部为 Jan Feb...
$mouth_arr=array("1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","11:00","12:00","13:00","14:00");
$graph->xaxis->SetTickLabels($mouth_arr);
$graph->xaxis->SetFont(FF_SIMSUN);                     //设置X坐标轴的字体

$lineplot1->SetColor("red");                            //设置颜色
$lineplot2->SetColor("blue");

$lineplot1->SetLegend("最大值");                       //设置图例名称
$lineplot2->SetLegend("最小值");
$graph->legend->SetFont(FF_SIMSUN,FS_BOLD);

$graph->legend->SetLayout(LEGEND_HOR);                 //设置图例样式和位置
$graph->legend->Pos(0.5,0.96,"center","bottom");       //设置下部lengend位置

$graph->Stroke();                                      //输出图像
//折线图

?>


http://www.ppmy.cn/ops/126258.html

相关文章

温度控制:精酿啤酒发酵中的关键因素

在精酿啤酒的世界里&#xff0c;每一个细节都至关重要。而在其中&#xff0c;温度控制无疑扮演着至关重要的角色。它如同一位细心的指挥家&#xff0c;在发酵的舞台上&#xff0c;精心调控着每一个音符&#xff0c;确保最终能奏响一曲很好的乐章。今天&#xff0c;就让我们一起…

双目标定的原理

标定目的&#xff1a;建立相机成像几何模型并矫正透镜畸变。 建立相机成像几何模型&#xff1a;计算机视觉的首要任务就是要通过拍摄到的图像信息获取到物体在真实三维世界里相对应的信息&#xff0c;于是&#xff0c;建立物体从三维世界映射到相机成像平面这一过程中的几何模…

Scala链式风格

链式风格:在方法中返回当前对象&#xff01; 对象,方法1().方法2().方法3().方法3() args.map().foreach().toString class Stu11{//this.type就是当前这个方法的返回值类型def say(): this.type {println("say.....")this//当前对象}def run(): this.type {prin…

前端布局与响应式设计综合指南(三)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(三) 目录 42、px/em/rem有什么区别&#xff1f;为什么通常给font-s…

阿里云国际站DDoS高防增值服务怎么样?

利用国外服务器建站的话&#xff0c;选择就具有多样性了&#xff0c;相较于我们常见的阿里云和腾讯云&#xff0c;国外的大厂商还有谷歌云&#xff0c;微软云&#xff0c;亚马逊云等&#xff0c;但是较之这些&#xff0c;同等产品进行比较的话&#xff0c;阿里云可以说当之无愧…

Prometheus+Grafana 监控 Kubernetes

文章目录 一、Prometheus介绍二、Prometheus组件与监控三、Prometheus基本使用&#xff1a;怎么来监控四、Kubernetes监控指标五、Prometheus的基本使用&#xff1a;部署1.基于docker部署prometheusgrafana2. 查看prometheus配置文件3. 监控Linux服务器3.1找到自己相应的系统去…

科普向 -- 什么是RPC

科普向 – 什么是RPC RPC&#xff0c;全称为远程过程调用&#xff08;Remote Procedure Call&#xff09;&#xff0c;是一种计算机通信协议&#xff0c;允许程序在不同的地址空间&#xff08;通常是不同的计算机&#xff09;上执行代码。RPC使得程序可以像调用本地函数一样调…

数据库基础-学习版

目录 数据库巡检清理表空间高水位处理重建索引扩展字段异常恢复处置常见命令汇总 数据库巡检 数据库巡检的主要目的是确保数据库的健康状态、性能和安全,及时发现潜在的问题。 一 数据库状态检查 查看数据库列表:SHOW DATABASES; 检查当前数据库SELECT DATABASE(); 检查数据…