请写一段html代码并美化,这段代码主要功能是显示两张折线图,图名分别是环境温湿度信息、电表监控单元信息,两张图并排放,环境温湿度信息和电表监控单元信息这两张图都有两个数据,环境温湿度信息这张图显示的两个数据为温度和湿度,横坐标是时间,纵坐标是温度或湿度,温度单位是℃,湿度单位是%,;电表监控单元信息这张图两个数据是碳排放量或耗电量,横坐标是时间,纵坐标是碳排放量或耗电量,碳排放量单位是kg,耗电量单位是KWh。前端折线图的温湿度、碳排放量、耗电量数据用ajax从后端获取并实时更新,请写一段代码
时间: 2024-03-23 18:40:12 浏览: 95
第三阶段加深、完成全图-CAD绘图教程
以下是一段实现要求的HTML和CSS代码:
HTML代码:
```html
<div class="chart-container">
<div class="chart">
<h2>环境温湿度信息</h2>
<canvas id="temp-humidity-chart"></canvas>
</div>
<div class="chart">
<h2>电表监控单元信息</h2>
<canvas id="carbon-electricity-chart"></canvas>
</div>
</div>
```
CSS代码:
```css
.chart-container {
display: flex;
}
.chart {
border: 1px solid #ccc;
padding: 10px;
margin: 10px;
width: 50%;
}
.chart h2 {
text-align: center;
}
canvas {
width: 100%;
height: 300px;
}
```
通过使用CSS的flex布局,实现了两张图并排放置。每张图都被包裹在一个`<div>`标签中,`<canvas>`用于绘制折线图。
接下来,使用JavaScript和Chart.js库实现折线图的绘制和数据更新:
```javascript
// 环境温湿度信息图表
var tempHumidityChart = new Chart(document.getElementById('temp-humidity-chart'), {
type: 'line',
data: {
labels: [], // 时间
datasets: [
{
label: '温度',
borderColor: 'red',
data: [], // 温度数据
yAxisID: 'temp-y-axis',
},
{
label: '湿度',
borderColor: 'blue',
data: [], // 湿度数据
yAxisID: 'humidity-y-axis',
},
],
},
options: {
scales: {
xAxes: [
{
ticks: {
maxTicksLimit: 10,
},
},
],
yAxes: [
{
id: 'temp-y-axis',
position: 'left',
ticks: {
suggestedMin: 0,
suggestedMax: 50,
},
},
{
id: 'humidity-y-axis',
position: 'right',
ticks: {
suggestedMin: 0,
suggestedMax: 100,
},
},
],
},
},
});
// 电表监控单元信息图表
var carbonElectricityChart = new Chart(document.getElementById('carbon-electricity-chart'), {
type: 'line',
data: {
labels: [], // 时间
datasets: [
{
label: '碳排放量',
borderColor: 'green',
data: [], // 碳排放量数据
yAxisID: 'carbon-y-axis',
},
{
label: '耗电量',
borderColor: 'orange',
data: [], // 耗电量数据
yAxisID: 'electricity-y-axis',
},
],
},
options: {
scales: {
xAxes: [
{
ticks: {
maxTicksLimit: 10,
},
},
],
yAxes: [
{
id: 'carbon-y-axis',
position: 'left',
ticks: {
suggestedMin: 0,
},
},
{
id: 'electricity-y-axis',
position: 'right',
ticks: {
suggestedMin: 0,
},
},
],
},
},
});
// 使用AJAX获取数据并更新图表
function updateCharts() {
// 获取环境温湿度信息
$.ajax({
url: '/get-temp-humidity-data',
success: function (data) {
// 更新时间轴
tempHumidityChart.data.labels = data.time;
// 更新温度数据
tempHumidityChart.data.datasets[0].data = data.temperature;
// 更新湿度数据
tempHumidityChart.data.datasets[1].data = data.humidity;
// 更新图表
tempHumidityChart.update();
},
});
// 获取电表监控单元信息
$.ajax({
url: '/get-carbon-electricity-data',
success: function (data) {
// 更新时间轴
carbonElectricityChart.data.labels = data.time;
// 更新碳排放量数据
carbonElectricityChart.data.datasets[0].data = data.carbon;
// 更新耗电量数据
carbonElectricityChart.data.datasets[1].data = data.electricity;
// 更新图表
carbonElectricityChart.update();
},
});
// 每5秒更新一次数据
setTimeout(updateCharts, 5000);
}
// 页面加载完毕后开始更新图表数据
$(document).ready(function () {
updateCharts();
});
```
以上代码实现了通过AJAX获取实时数据更新折线图,每5秒更新一次数据。具体的数据获取和更新操作需要根据后端接口实现。
阅读全文