From 9a664d3cdbcafbfe89e21440172b0cca254483ee Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期五, 01 十二月 2023 11:54:23 +0800
Subject: [PATCH] echart
---
src/components/cockpitPage/BarChart.vue | 148 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 145 insertions(+), 3 deletions(-)
diff --git a/src/components/cockpitPage/BarChart.vue b/src/components/cockpitPage/BarChart.vue
index eb1c945..7852254 100644
--- a/src/components/cockpitPage/BarChart.vue
+++ b/src/components/cockpitPage/BarChart.vue
@@ -2,13 +2,15 @@
<div class="bar-chart">
<ChartTitle name="杞﹂棿姝e搧鐜�"></ChartTitle>
<div class="bar-contents">
-
+ <div class="chart" ref="chart"></div>
</div>
</div>
</template>
<script>
import ChartTitle from "@/components/cockpitPage/ChartTitle.vue";
+//寮曞叆echart
+import * as echarts from 'echarts'
export default {
components: {
ChartTitle,
@@ -20,11 +22,147 @@
};
},
mounted() {
-
+ let chartData={
+ datax:['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ datay:[120, 200, 150, 80, 70, 110, 130]
+ }
+ this.pieChart('chart',chartData)
},
watch: {},
methods: {
-
+ //鍦ㄨ亴
+ pieChart(chartName,data){
+ let chartDom = this.$refs[chartName]
+ let myChart = echarts.init(chartDom);
+ let option;
+ if(data){
+ option = {
+ color:['#618DF8'],
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'none'
+ }
+ },
+ grid: {
+ right: "11%",
+ bottom:'21%',
+ },
+ dataZoom: [
+ {
+ type: 'inside',
+ // show: true, //鏄剧ず婊氬姩鏉�
+ start:0,
+ end: 100,
+ xAxisIndex: 0,
+ minSpan:20,
+ maxSpan:100,
+ // handleSize: 8
+ },
+ {
+ // type: 'slider', //涓や釜涓�涓槸slider锛屼竴涓槸inside锛宻lider鏄鍔犳粴鍔ㄦ潯浠ュ強榧犳爣鎷栧姩婊氬姩鏉″姛鑳斤紝inside鍒欐槸榧犳爣婊氳疆婊氬姩婊氬姩鏉°��
+ type: 'inside',
+ // show: true,
+ // realtime : true,
+ xAxisIndex: 0,
+ minSpan:20,
+ maxSpan:100,
+ start: 0,
+ end: 100
+ },
+ ],
+ legend: {
+ itemWidth: 12,
+ itemHeight: 12,
+ itemGap: 35,//闂磋窛
+ // data:data.legend?[
+ // {
+ // name:data.legend.data[0],
+ // icon: 'roundRect',
+ // },
+ // ]:[]
+ },
+ xAxis: [
+ {
+ type: 'category',
+ axisTick: {
+ show: false
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color:'#EAEAEA',
+ }
+ },
+ axisLabel:{
+ rotate:45,
+ margin: 12,
+ show: true,
+ textStyle: {
+ color: '#9B9B9B'
+ },
+ },
+ data: data.datax?data.datax:[],
+ }
+ ],
+ yAxis: [
+ {
+ type: '',
+ name: 'yyy',
+ // min: data.yAxis[0].min?data.yAxis.min:0,
+ minInterval: 1,//鍧愭爣杞存槸鏁存暟
+ max:Math.ceil(eval(`Math.max(${data.datay})`)/5)*5,//鏁版嵁鏈�澶у�煎姞3
+ interval: Math.ceil(eval( `Math.max(${data.datay})`)/5)*5 / 5,
+ position: 'left',
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color:'#EAEAEA',
+ }
+ },
+ nameTextStyle:{
+ color:"#9B9B9B",
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ // 浣跨敤娣辨祬鐨勯棿闅旇壊
+ color: '#EAEAEA',
+ }
+ },
+ axisTick: {
+ show: false
+ },
+ axisLabel: {
+ textStyle: {
+ color: '#9B9B9B'
+ },
+ formatter: ''
+ }
+ }
+ ],
+ series:[
+ {
+ type: '',
+ name: 'y',
+ barWidth: '20%',
+ itemStyle: {
+ normal: {
+ //鏌卞舰鍥惧渾瑙掞紝鍒濆鍖栨晥鏋�
+ barBorderRadius:[4, 4, 0, 0],
+ }
+ },
+ data: data.datay,
+ }
+ ]
+ };
+
+ option && myChart.setOption(option);
+ }else{
+ option={};
+ myChart.setOption(option,true);
+ }
+ },
},
};
</script>
@@ -39,6 +177,10 @@
height:calc(100% - 60px);
border:1px solid #00FFFF;
box-sizing: border-box;
+ .chart{
+ width: 100%;
+ height:100%;
+ }
}
}
</style>
--
Gitblit v1.8.0