查询数据库绘制历史曲线

news/2024/10/11 11:08:24/

<?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/news/1537417.html

相关文章

MyBatis XML映射文件

XML映射文件 XML映射文件的名称与Mapper接口名称一致&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下&#xff08;同包同名&#xff09;XML映射文件的namespace属性为Mapper接口全限定名一致XML映射文件中SQL语句的id与Mapper接口中的方法名一致&#xff0c;并保持返…

Mycat引领MySQL分布式部署新纪元:性能与扩展性的双重飞跃

作者简介&#xff1a;我是团团儿&#xff0c;是一名专注于云计算领域的专业创作者&#xff0c;感谢大家的关注 座右铭&#xff1a; 云端筑梦&#xff0c;数据为翼&#xff0c;探索无限可能&#xff0c;引领云计算新纪元 个人主页&#xff1a;团儿.-CSDN博客 目录 前言&#…

微服务发展历程

服务架构演进 服务架构演进过程&#xff1a;抽取各个模块独立维护&#xff0c;独立部署的过程。 初创公司2 ~ 3个研发人员&#xff0c;ALL IN ONE 的框架开发效率最高。随着队伍的壮大&#xff0c;产品&#xff0c;用户&#xff0c;商品成立独立小组&#xff0c;拆出相应的模块…

SpringCloud入门(十)统一网关Gateway

一、网关的作用 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 …

小猿口算APP脚本(协议版)

小猿口算是一款专注于数学学习的教育应用,主要面向小学阶段的学生。它提供多种数学练习和测试,包括口算、速算、应用题等。通过智能化的题目生成和实时批改功能,帮助学生提高数学计算能力。此外,它还提供详细的学习报告和分析,帮助家长和教师了解学生的学习进度和薄弱环节…

回归分析在数据挖掘中的应用简析

一、引言 在数据驱动的时代&#xff0c;数据挖掘技术已成为从海量数据中提取有价值信息的关键工具。 回归分析&#xff0c;作为一种经典的统计学习方法&#xff0c;不仅在理论研究上有着深厚的基础&#xff0c;而且在实际 应用中也展现出强大的功能。 二、回归分析基础 2.1 回…

【w1r3s靶场渗透】

文章目录 一、主机发现 二、服务探测 三、挖掘漏洞 ftp渗透 Mysql登录 Web渗透 四、提权 一、主机发现 Kali IP&#xff1a;192.168.78.128 靶机IP&#xff1a;192.168.78.184 nmap -sP 192.168.78.0/24 二、服务探测 端口探测 nmap -sT -sV -p- 192.168.78.184 漏…

springboot kafka多数据源,通过配置动态加载发送者和消费者

前言 最近做项目&#xff0c;需要支持kafka多数据源&#xff0c;实际上我们也可以通过代码固定写死多套kafka集群逻辑&#xff0c;但是如果需要不修改代码扩展呢&#xff0c;因为kafka本身不处理额外逻辑&#xff0c;只是起到削峰&#xff0c;和数据的传递&#xff0c;那么就需…