添加图片
parent
8e7a2e5eb0
commit
755d87a7cb
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 237 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,373 @@
|
||||
import Taro from "@tarojs/taro";
|
||||
import classnames from "classnames";
|
||||
import { Block, View, Image, Text, Input } from "@tarojs/components";
|
||||
import { Popup, Progress, Slider } from "@antmjs/vantui";
|
||||
import { useRef } from "react";
|
||||
import Echarts, { EChartOption, EchartsHandle } from "taro-react-echarts";
|
||||
import echarts from "@/utils/echarts.min.js";
|
||||
|
||||
import "./index.less";
|
||||
|
||||
interface Props {
|
||||
Electricity: any;
|
||||
matrixElectricity: any;
|
||||
facialMaskConnectStatus: any;
|
||||
}
|
||||
|
||||
function Index() {
|
||||
|
||||
const echartsRef = useRef<EchartsHandle>(null);
|
||||
function generateColorArray(startColor, endColor, steps) {
|
||||
var startRGB = hexToRgb(startColor);
|
||||
var endRGB = hexToRgb(endColor);
|
||||
var colors = [];
|
||||
for (var i = 0; i < steps; i++) {
|
||||
var r = interpolate(startRGB.r, endRGB.r, steps, i);
|
||||
var g = interpolate(startRGB.g, endRGB.g, steps, i);
|
||||
var b = interpolate(startRGB.b, endRGB.b, steps, i);
|
||||
colors.push(rgbToHex(r, g, b));
|
||||
}
|
||||
return colors;
|
||||
}
|
||||
|
||||
function hexToRgb(hex) {
|
||||
var bigint = parseInt(hex.slice(1), 16);
|
||||
var r = (bigint >> 16) & 255;
|
||||
var g = (bigint >> 8) & 255;
|
||||
var b = bigint & 255;
|
||||
return { r: r, g: g, b: b };
|
||||
}
|
||||
|
||||
function rgbToHex(r, g, b) {
|
||||
return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
|
||||
}
|
||||
|
||||
function interpolate(start, end, steps, count) {
|
||||
return start + ((end - start) / steps) * count;
|
||||
}
|
||||
|
||||
const startColor = '#FFFF00'; // 黄色
|
||||
const endColor = '#FF0000'; // 红色
|
||||
const steps = 100; // 50个颜色
|
||||
|
||||
const colors = generateColorArray(startColor, endColor, steps);
|
||||
const xList = [...new Array(361).fill(0).map((item, key) => key)];
|
||||
// const seriesData = [
|
||||
// ...xList.map((item) => {
|
||||
// return Math.random() * 100;
|
||||
// })
|
||||
// ];
|
||||
let seriesData=[
|
||||
1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3,
|
||||
1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3,
|
||||
1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,8,5,1,2,3,
|
||||
1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
,1,2,2,3,3,4,5,1,2,3,4,2,3,5,1,2,3
|
||||
]
|
||||
console.log(seriesData,'seriesData',xList);
|
||||
|
||||
// const option: EChartOption ={
|
||||
// grid: {
|
||||
// // 让图表占满容器
|
||||
// top: "28rpx",
|
||||
// left: "18rpx",
|
||||
// right: "28rpx",
|
||||
// bottom: "17rpx",
|
||||
// },
|
||||
// xAxis: {
|
||||
// type: 'category',
|
||||
// data: [...xList],
|
||||
// axisLabel: {
|
||||
// interval: 59
|
||||
// },
|
||||
// axisTick: {
|
||||
// alignWithLabel: true,
|
||||
// interval: 10,
|
||||
// show: false,
|
||||
// },
|
||||
// axisLine: {
|
||||
// show: false,
|
||||
// },
|
||||
|
||||
|
||||
// },
|
||||
// yAxis: {
|
||||
// min: 0,
|
||||
// max: 8,
|
||||
// splitNumber: 8,
|
||||
// type: 'value',
|
||||
// axisLine: {
|
||||
// show: false,
|
||||
// },
|
||||
// axisLabel: {
|
||||
// show: false,
|
||||
// },
|
||||
// axisTick: {
|
||||
// show: false,
|
||||
// },
|
||||
// },
|
||||
// series: [
|
||||
// {
|
||||
// data: seriesData,
|
||||
// type: 'bar',
|
||||
// // barWidth: 15,
|
||||
// itemStyle: {
|
||||
// normal: {
|
||||
// color: function (params) {
|
||||
// var value = params.data;
|
||||
// var color = new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
// {
|
||||
// offset: 0,
|
||||
// color: colors[parseInt(value)] // 红色
|
||||
// },
|
||||
// {
|
||||
// offset: 1,
|
||||
// color: colors[0] // 黄色
|
||||
// }
|
||||
// ]);
|
||||
// return value === 100 ? '#FF0000' : color;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
const option: EChartOption = {
|
||||
grid: {
|
||||
// 让图表占满容器
|
||||
top: "28rpx",
|
||||
left: "18rpx",
|
||||
right: "28rpx",
|
||||
bottom: "17rpx",
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
axisTick: { show: false },
|
||||
data: ['2012', '2013', '2014', '2015', '2016'],
|
||||
axisLine: {
|
||||
show: false,
|
||||
},
|
||||
axisLabel: {
|
||||
show: false,
|
||||
},
|
||||
|
||||
}
|
||||
],
|
||||
yAxis: {
|
||||
type: "value",
|
||||
min: 0,
|
||||
max: 8,
|
||||
splitNumber: 8,
|
||||
splitLine: {
|
||||
show: false,
|
||||
// lineStyle: {
|
||||
// color: "#cccccc",
|
||||
// type: [4, 2],
|
||||
// dashOffset: 4,
|
||||
// },
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
},
|
||||
axisLabel: {
|
||||
show: false,
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
},
|
||||
|
||||
series: [
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'Forest',
|
||||
type: 'bar',
|
||||
barGap: 0,
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'Steppe',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'Desert',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'Wetland',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'demo1',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'demo2',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'demo3',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'demo4',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{ barCategoryGap:'0%',
|
||||
name: 'demo5',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
},
|
||||
{
|
||||
color:'red',
|
||||
barCategoryGap:'0%',
|
||||
name: 'demo6',
|
||||
type: 'bar',
|
||||
// label: labelOption,
|
||||
// emphasis: {
|
||||
// focus: 'series'
|
||||
// },
|
||||
data: [2, 4, 4, 5, 7]
|
||||
}
|
||||
]
|
||||
// grid: {
|
||||
// // 让图表占满容器
|
||||
// top: "28rpx",
|
||||
// left: "18rpx",
|
||||
// right: "28rpx",
|
||||
// bottom: "17rpx",
|
||||
// },
|
||||
// xAxis: {
|
||||
// type: 'category',
|
||||
// // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
||||
// show: false,
|
||||
// // axisLine: {
|
||||
// // show: false,
|
||||
// // },
|
||||
|
||||
// },
|
||||
// yAxis: {
|
||||
// type: "value",
|
||||
// min: 0,
|
||||
// max: 50,
|
||||
// splitNumber: 10,
|
||||
// splitLine: {
|
||||
// show: false,
|
||||
// // lineStyle: {
|
||||
// // color: "#cccccc",
|
||||
// // type: [4, 2],
|
||||
// // dashOffset: 4,
|
||||
// // },
|
||||
// },
|
||||
// axisLine: {
|
||||
// show: false,
|
||||
// },
|
||||
// axisLabel: {
|
||||
// show: false,
|
||||
// },
|
||||
// axisTick: {
|
||||
// show: false,
|
||||
// },
|
||||
// },
|
||||
// series: [
|
||||
// {
|
||||
// data: [1, 6, 3, 4, 7, 6, 0,8, 0, 10, 11, 12, 13, 14,15, 16, 17, 18, 19, 20, 21,22, 23, 24, 25, 26, 27, 28,29, 30, 31, 32, 33, 34, 35,36],
|
||||
// type: 'bar',
|
||||
// barWidth:30, //设置柱子的宽度
|
||||
// barGap:'100%',
|
||||
// barCategoryGap:'0%',
|
||||
// }
|
||||
// ]
|
||||
};
|
||||
|
||||
const level = [8, 7, 6, 5, 4, 3, 2];
|
||||
let arr =[2,3,4,5,6,7]
|
||||
return (
|
||||
<Block>
|
||||
<View className="box">
|
||||
<Echarts
|
||||
echarts={echarts}
|
||||
option={option}
|
||||
ref={echartsRef}
|
||||
// isPage={false}
|
||||
// style自定义设置echarts宽高
|
||||
style={{ width: "630rpx", height: "167rpx" }}
|
||||
/>
|
||||
<View className="box_background">
|
||||
|
||||
{level.map((item) => (
|
||||
<View className="line" key={item}>
|
||||
<View className="number">{item}</View>
|
||||
<View className="bottom_line">8</View>
|
||||
</View>
|
||||
))}
|
||||
<View className="line">
|
||||
<View className="number">1</View>
|
||||
</View>
|
||||
{/* <View className="time">时间</View> */}
|
||||
<View className="Seconds">
|
||||
{
|
||||
arr.map(item =>(
|
||||
<View key={item} className="Seconds_item">{item}</View>
|
||||
))
|
||||
}
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
|
||||
</Block>
|
||||
);
|
||||
}
|
||||
|
||||
export default Index;
|
||||
Loading…
Reference in New Issue