当前位置: 首页 > news >正文

实用网站推荐在百度平台如何做营销

实用网站推荐,在百度平台如何做营销,工程建设管理条例,wordpress中文论坛需求背景解决效果ISQQW代码地址energyChart.vue 需求背景 需要实现同x轴,4个图表的的多图表联动效果,且滑动会触发各个图表的tooltip,即一个图表拥有4个tooltip(目前echarts不支持,我这里绕过了这个问题) 解决效果 ISQQW代码地…

  • 需求背景
  • 解决效果
  • ISQQW代码地址
  • energyChart.vue

需求背景

需要实现同x轴,4个图表的的多图表联动效果,且滑动会触发各个图表的tooltip,即一个图表拥有4个tooltip(目前echarts不支持,我这里绕过了这个问题)

解决效果

ISQQW代码地址

由于ISQQW只能上传一个option对象的图表,故未上传

energyChart.vue

<!--/**
* @author: liuk
* @date: 2023/11/21
* @describe: 能耗分析图表
* @email:https://blog.csdn.net/hr_beginner?spm=1018.2226.3001.5343
*/-->
<template><div ref="chatDom1" class="energyChart"></div><div ref="chatDom2" class="energyChart"></div><div ref="chatDom3" class="energyChart"></div><div ref="chatDom4" class="energyChart"></div>
</template><script lang="ts" setup>
import {ref, onMounted, watch, nextTick} from "vue"
import * as echarts from 'echarts'
import {formatToFixed} from "@/utils/dictionary";// Props
const props = defineProps(['data'])
const myCharts = {// Vue3 使用 proxy 对象代理,而 echarts 则使用了大量的全等(===), 对比失败从而导致了bug。myChart1: null,myChart2: null,myChart3: null,myChart4: null
}const chatDom1 = ref(null)
const chatDom2 = ref(null)
const chatDom3 = ref(null)
const chatDom4 = ref(null)watch(() => props.data, (data) => {nextTick(() => {renderFn(myCharts.myChart1, {xData: data.heatRateHistory.map(item => item.time),yName: '度日数单耗 W/m²·℃',sData: data.heatRateHistory.map(item => formatToFixed(item.heatRate)),markLineVal: data.heatRateHistory[0]?.heatRate3 || 0,color: '#EB8F4A'})renderFn(myCharts.myChart2, {xData: data.flowPowerHistory.map(item => item.time),yName: '电单耗 W/m²',sData: data.flowPowerHistory.map(item => formatToFixed(item.power1)),markLineVal: data.flowPowerHistory[0]?.power3 || 0,color: '#BF97FF'})renderFn(myCharts.myChart3, {xData: data.flowPowerHistory.map(item => item.time),yName: '水单耗 W/m²',sData: data.flowPowerHistory.map(item => formatToFixed(item.flow1)),markLineVal: data.flowPowerHistory[0]?.flow3 || 0,color: "#5690FF"})renderFn(myCharts.myChart4, {xData: data.energyAnalysisData.time,yName: '室外温度 °C',sData: data.energyAnalysisData.tt301_value_val_arr,markLineVal: false,color: '#00CCA3'})})
})onMounted(() => {drawChart(chatDom1.value, 1)drawChart(chatDom2.value, 2)drawChart(chatDom3.value, 3)drawChart(chatDom4.value, 4)echarts.connect('sameControls'); // **相同操作window.addEventListener('resize', () => {renderFn(myCharts.myChart1, {xData: props.data.heatRateHistory.map(item => item.time),yName: '度日数单耗 W/m²·℃',sData: props.data.heatRateHistory.map(item => formatToFixed(item.heatRate)),markLineVal: props.data.heatRateHistory[0]?.heatRate3 || 0,color: '#EB8F4A'})renderFn(myCharts.myChart2, {xData: props.data.flowPowerHistory.map(item => item.time),yName: '电单耗 W/m²',sData: props.data.flowPowerHistory.map(item => formatToFixed(item.power1)),markLineVal: props.data.flowPowerHistory[0]?.power3 || 0,color: '#BF97FF'})renderFn(myCharts.myChart3, {xData: props.data.flowPowerHistory.map(item => item.time),yName: '水单耗 W/m²',sData: props.data.flowPowerHistory.map(item => formatToFixed(item.flow1)),markLineVal: props.data.flowPowerHistory[0]?.flow3 || 0,color: "#5690FF"})renderFn(myCharts.myChart4, {xData: props.data.energyAnalysisData.time,yName: '室外温度 °C',sData: props.data.energyAnalysisData.tt301_value_val_arr,markLineVal: false,color: '#00CCA3'})}, {passive: true});
})const renderFn = (myChart, {xData, yName, sData, markLineVal, color}) => {const option = myChart.getOption()option.xAxis[0].data = xDataoption.xAxis[0].min = nulloption.yAxis[0].name = yNameoption.series[0].name = yNameoption.series[0].data = sDataoption.series[0].color = coloroption.series[0].markLine.data[0].yAxis = markLineValoption.series[0].markLine.data[0].label.color = colorif (markLineVal === false) delete option.series[0].markLineoption.tooltip[0].formatter = (param) => {const data = param[0] || {}const temp = data.data - markLineValconst [name, unit] = yName.split(" ")const nameArr = [{name,num: data.data},{name: '基准年' + name,num: markLineVal},{name: '对比基准年',num: temp}]return `${nameArr.map((item, i) => {return `<p class="energyChart-item"><i class="icon" style="color:${i === 3 ? '#fff' : data.color}">${new Array(1).fill('').map(() => {switch (i) {case 0:return '一'case 1:return '···'case 2:return temp > 0 ? '↑' : '↓'}})[0]}</i><span class="name">${item.name}</span><span>${formatToFixed(item.num)}</span><span>${unit}</span></p>`}).join("")}`}myChart.clear()myChart.setOption(option)
}const drawChart = (chatDom, n) => {let chartDom = chatDomif (chartDom == null) {return}echarts.dispose(chartDom)myCharts['myChart' + n] = echarts.init(chartDom)myCharts['myChart' + n].group = 'sameControls';const option = {grid: [{top: 29,left: 90,right: 90,height: 100},],axisPointer: {type: 'shadow',link: {xAxisIndex: 'all'},},tooltip: {trigger: 'axis',backgroundColor: 'rgba(61,57,48,0.8)',borderColor: 'rgba(149,149,149,0.8)',textStyle: {color: '#fff'},},xAxis: [{data: ['08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00', '00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00', '07:00', '08:00'],boundaryGap: false,axisLine: {show: true,onZero: false,},min: 'dataMin',axisTick: {show: true,alignWithLabel: true,},axisLabel: {show: true,color: 'rgba(165,166,166,1)',fontSize: '12',},}],yAxis: [{name: '度日数单耗 W/m²·℃',offset: 20,nameTextStyle: {padding: [0, 0, 0, -10],color: '#fff',fontSize: '14',opacity: 0.7,align: 'left',fontWeight: 'normal'},nameLocation: 'end',position: 'left',axisTick: {show: false},splitLine: {show: true,lineStyle: {type: 'dashed',color: 'rgba(52,52,52,1)'}},axisLine: {show: false,},axisLabel: {show: true,align: 'left',showMinLabel: false,color: 'rgba(165,166,166,1)',fontSize: '14',formatter: (val) => {switch (true) {case val < 1000:return valcase val >= 1e3 && val < 1e4:return (val / 1e3).toFixed(1) + 'k'default:return (val / 1e4).toFixed(1) + 'w'}}},},],series: [{name: '度日数单耗',type: 'line',symbol: 'image://',data: [-1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -12, 13, 14, 15, 16, 17, 18, 19, -20, 21, 22, -23, 24],markLine: {symbol: "none",silent: true,data: [{yAxis: 5,label: {show: true,position: 'start',color: 'rgba(238,145,75,1)',}}]},lineStyle: {type: 'solid'}},]}option && myCharts['myChart' + n].setOption(option)
}
</script><style lang="scss" scoped>
.energyChart {width: 100%;height: 175px;margin-top: 5px;
}
</style>
<style lang="scss">
.energyChart-item {display: flex;align-items: center;margin: 10px 0;&:last-child {margin-bottom: 0;}.icon {display: inline-block;width: 12px;text-align: center;margin-right: 10px;}.name {display: inline-block;width: 120px;margin-right: 20px;}
}
</style>
http://www.dt0577.cn/news/20749.html

相关文章:

  • 福州外贸网站建设优化大师是什么意思
  • 教育技术学网站模版杭州seo平台
  • 网站标题图片怎么做拼多多标题关键词优化方法
  • 淮南网站制作semir是什么牌子
  • wordpress加httpsseo查询源码
  • 哪些网站是做婴童辅食招商的民生热点新闻
  • wordpress下载网站模板怎么用qq空间刷赞网站推广
  • wordpress5 源码西安网站关键词优化费用
  • 国家职业建设中心网站简易网站制作
  • 企业网站代码模板百度关键词优化是什么意思
  • 网站英文版是怎么做的域名批量查询
  • 朋友圈产品推广文案学seo需要多久
  • 成都网站建设市场分析百度代发排名
  • php网站编程百度站长
  • 芜湖做网站找哪家好百度信息流是什么
  • 网站建设流程效果优化网站打开速度
  • shortcode wordpress青岛seo用户体验
  • 静态网页制作毕业论文宁波seo企业网络推广
  • 科技有限公司可以做网站建设吗?网站查询工具seo
  • flash 做网站教程电商中seo是什么意思
  • 专门做问卷的调查的网站微信朋友圈软文大全
  • 境外网站百度销售系统登录
  • 织梦57网站的友情链接怎么做企业营销策划是做什么的
  • 电商网站建设功能需求app引流推广方法
  • 如何自己做网站发布到服务器上面新媒体运营师证书
  • 一个可以看qq空间的网站免费的h5制作网站
  • 毕节金海湖新区城乡建设局网站seo 网站优化推广排名教程
  • 996建站网站制作在百度上怎么发布信息
  • 临沂购买模板建站宝鸡seo排名
  • 家庭宽带做网站稳定吗发布平台有哪些