From d91053e5cbe7fac6deee994c22c0529fd1b08755 Mon Sep 17 00:00:00 2001 From: WX <1377869194@qq.com> Date: 星期五, 15 九月 2023 15:47:08 +0800 Subject: [PATCH] 标绘查询 --- src/components/BarGraphAxisLine.vue | 126 ++++++++++++++++++++++++++++++----------- 1 files changed, 91 insertions(+), 35 deletions(-) diff --git a/src/components/BarGraphAxisLine.vue b/src/components/BarGraphAxisLine.vue index f980895..7e582b2 100644 --- a/src/components/BarGraphAxisLine.vue +++ b/src/components/BarGraphAxisLine.vue @@ -1,6 +1,6 @@ <template> <div class="Echarts_box" :style="{ width: width, height: height }"> - <div id="myEcharts1" style="width: 100%; height: 100%"></div> + <div id="myEchartsBIG" style="width: 100%; height: 100%"></div> </div> </template> <script lang="ts" setup> @@ -13,6 +13,7 @@ defineEmits, watch, onUnmounted, + nextTick, } from "vue"; import * as echarts from "echarts"; @@ -20,19 +21,71 @@ const props = defineProps({ width: String, height: String, + layerData: Object, }); let myEcharts = echarts; +let seriesData = ref([]); +let xAxisData = ref([]); +let dataLength; +let data = []; onMounted(() => { - initChart(); + console.log(props.layerData); + props.layerData.points.forEach((e, i) => { + xAxisData.value.push(returnFloat1(e.len)); + }); + data = trans(props.layerData.points); + + data.forEach((e) => { + seriesData.value.push({ + data: e, + type: "line", + smooth: true, + symbol: "none", //鍙栨秷鎶樼偣鍦嗗湀 + itemStyle: { + normal: { + label: { + show: false, + position: "top", + formatter: "{c}", + }, + }, + }, + }); + }); + nextTick(() => { + initChart(); + }); }); onUnmounted(() => { myEcharts.dispose; }); +function returnFloat1(value) { + if (value == 0) { + return value; + } + value = Math.round(parseFloat(value) * 10) / 10; + if (value.toString().indexOf(".") < 0) { + value = value.toString() + ".0"; + } + return value; +} +function trans(arr) { + let result = []; + arr.forEach((item) => { + item.vals.forEach((d, i) => { + let a = (result[i] = result[i] || []); + + a.push(d); + }); + }); + + return result; +} function initChart() { let chart = myEcharts.init( - document.getElementById("myEcharts1"), + document.getElementById("myEchartsBIG"), "purple-passion" ); chart.setOption({ @@ -99,24 +152,43 @@ }, legend: { - data: [], + // data: xAxisData.value, }, xAxis: { type: "category", - data: [ - "涓�鏈�", - "浜屾湀", - "涓夋湀", - "鍥涙湀", - "浜旀湀", - "鍏湀", - "涓冩湀", - "鍏湀", - "涔濇湀", - "鍗佹湀", - "鍗佷竴鏈�", - "鍗佷簩鏈�", - ], + data: xAxisData.value, + name: "绫筹紙m锛�", + axisLabel: { + //x杞存枃瀛楃殑閰嶇疆 + showMinLabel: true, // 寮哄埗鏄剧ず鏈�灏忓�兼爣绛� + showMaxLabel: true, // 寮哄埗鏄剧ず鏈�澶у�兼爣绛� + //interval: 0, //浣縳杞存枃瀛楁樉绀哄叏 + // textStyle: { + // color: "rgba(219, 225, 255, 1)", + // }, + // formatter: function (params) { + // var newParamsName = ""; + // var paramsNameNumber = params.length; + // var provideNumber = 3; //涓�琛屾樉绀哄嚑涓瓧 + // var rowNumber = Math.ceil(paramsNameNumber / provideNumber); + // if (paramsNameNumber > provideNumber) { + // for (var p = 0; p < rowNumber; p++) { + // var tempStr = ""; + // var start = p * provideNumber; + // var end = start + provideNumber; + // if (p == rowNumber - 1) { + // tempStr = params.substring(start, paramsNameNumber); + // } else { + // tempStr = params.substring(start, end) + "\n"; + // } + // newParamsName += tempStr; + // } + // } else { + // newParamsName = params; + // } + // return newParamsName; + // }, + }, }, tooltip: { trigger: "axis", @@ -124,23 +196,7 @@ yAxis: { type: "value", }, - series: [ - { - data: [606, 542, 985, 687, 501, 787, 339, 706, 383, 684, 669, 737], - type: "line", - smooth: true, - symbol: "none", //鍙栨秷鎶樼偣鍦嗗湀 - itemStyle: { - normal: { - label: { - show: false, - position: "top", - formatter: "{c}", - }, - }, - }, - }, - ], + series: seriesData.value, }); window.onresize = function () { chart.resize(); -- Gitblit v1.9.3