| | |
| | | <template> |
| | | <div id="main"> |
| | | <basic-container> |
| | | <v-chart :options="option" ref="chart" style="width: 100%;height:100vh"></v-chart> |
| | | <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart> |
| | | </basic-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import 'echarts' |
| | | import 'echarts/lib/chart/line'; |
| | | import 'echarts/lib/component/tooltip'; |
| | | import 'echarts/lib/component/title'; |
| | | import 'echarts/lib/component/legend'; |
| | | import 'echarts/lib/chart/line' |
| | | import 'echarts/lib/chart/pie' |
| | | import 'echarts/lib/chart/bar' |
| | | import 'echarts/lib/component/tooltip' |
| | | import 'echarts/lib/component/title' |
| | | import 'echarts/lib/component/legend' |
| | | |
| | | export default { |
| | | name: "statisticPage", |
| | | name: "lineChart", |
| | | data() { |
| | | return { |
| | | option: { |
| | | color: ['red','black'], |
| | | legend: { |
| | | data: ['图例1', '图例2', '图例3'], |
| | | }, |
| | | dataset: [ |
| | | { |
| | | id: 'dataset_raw', |
| | | source: [ |
| | | { month: 1, total: 1000, newly: 800 }, |
| | | { month: 2, total: 5000, newly: 1000 }, |
| | | { month: 3, total: 1800, newly: 1400 }, |
| | | { month: 4, total: 1500, newly: 1200 }, |
| | | { month: 5, total: 1000, newly: 1200 }, |
| | | { month: 6, total: 1500, newly: 1200 }, |
| | | { month: 7, total: 1500, newly: 1200 }, |
| | | { month: 8, total: 1500, newly: 1000 }, |
| | | { month: 9, total: 1500, newly: 1200 }, |
| | | { month: 10, total: 1500, newly: 1200 }, |
| | | { month: 11, total: 1500, newly: 1200 }, |
| | | { month: 12, total: 1500, newly: 1200 }, |
| | | ], |
| | | }, |
| | | ], |
| | | chartOptions: { |
| | | color:['#2eadd6 ','#FFA500 '], |
| | | title: { |
| | | text: '主题库数据统计分析', |
| | | left:'center', |
| | | textAlign:'center' |
| | | text: '物品主数据统计' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | trigger: 'axis' |
| | | }, |
| | | legend: { |
| | | data: ['总量', '新增'] |
| | | }, |
| | | xAxis: { |
| | | boundaryGap: true, // 控制坐标轴两侧留白 |
| | | type: 'category', |
| | | nameLocation: 'middle', |
| | | name:'month', |
| | | // data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] // 月份数据 |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | }, |
| | | yAxis: { |
| | | name: 'Number', |
| | | type: 'value', |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '总量', |
| | | type: 'line', |
| | | datasetId: 'dataset_raw', |
| | | showSymbol: false, |
| | | encode: { |
| | | x: 'month', |
| | | y: 'total', |
| | | itemName: 'month', |
| | | tooltip: ['total'], |
| | | smooth: true, |
| | | stack: 'Total', |
| | | label: { |
| | | show: true, |
| | | position: 'top' |
| | | }, |
| | | data: [5000, 2000, 3600, 1000, 1000, 2000, 500, 2000, 500, 2000, 500, 2000] |
| | | }, |
| | | { |
| | | name: '新增', |
| | | type: 'line', |
| | | datasetId: 'dataset_raw', |
| | | showSymbol: false, |
| | | encode: { |
| | | x: 'month', |
| | | y: 'newly', |
| | | itemName: 'month', |
| | | tooltip: ['newly'], |
| | | smooth: true, |
| | | stack: 'Total', |
| | | label: { |
| | | show: true, |
| | | position: 'top' |
| | | }, |
| | | }, |
| | | ], |
| | | } |
| | | data: [1510, 1010, 2610, 2010, 3010, 1010, 1510, 3010, 1010, 1510, 3010, 2000] |
| | | } |
| | | ] |
| | | }, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | import('echarts').then((echarts) => { |
| | | // console.log(echarts) |
| | | this.$nextTick(() => { |
| | | const chartDom = this.$refs.chart.$el; |
| | | const myChart = echarts.init(chartDom); |
| | | myChart.setOption(this.option); |
| | | }); |
| | | }); |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | <style lang="scss" scoped> |
| | | #chart { |
| | | width: 1280px; |
| | | } |
| | | |
| | | </style> |