vue+echarts实现疫情折线图

打印 上一主题 下一主题

主题 759|帖子 759|积分 2277

效果:

代码:
  1. <<template>
  2.     <div>
  3.         <div id="left1" style = "height:800px;width:100%"></div>
  4.     </div>
  5. </template>
  6. <script>
  7. //疫情数据
  8. //
  9. export default {
  10.     data() {
  11.         return {
  12.             data:{
  13.                 //疫情数据太多 放不下 要的滴滴我
  14.             }
  15.         };
  16.     },
  17.     mounted() {
  18.         //初始化echarts
  19.         var left1Chart = this.$echarts.init(document.getElementById('left1'))
  20.         //配置项
  21.         var option = {
  22.             //标题
  23.             title:{
  24.                 text:"全国累计趋势",
  25.                 textStyle:{
  26.                     color:'blue'
  27.                 },
  28.                 left:'left'
  29.             },
  30.             //触发类型(就是鼠标移上去 能够显示信息 不配置默认没有)
  31.             tooltip:{
  32.                 trigger:'axis',
  33.                 axisPointer:{
  34.                     type:'line',                    //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。
  35.                     lineStyle:{
  36.                         color:'#7171C6'
  37.                     }
  38.                 }
  39.             },
  40.             //图例组件
  41.             legend:{
  42.                 data:["累计确诊","累计治愈","累计死亡"],
  43.                 left:"right"
  44.             },
  45.             //图形位置(就是图例组件的位置)
  46.             grid:{
  47.                 left:'4%',
  48.                 right:'6%',
  49.                 bottom:'4%',
  50.                 top:50,
  51.                 containLabel:true
  52.             },
  53.             //x轴(横)
  54.             xAxis:[{
  55.                 type:'category',
  56.                 data:[]
  57.             }],
  58.             //y轴(竖)
  59.             yAxis:[{
  60.                 type:'value',
  61.                 //坐标轴刻度标签的相关设置。
  62.                 axisLabel:{
  63.                     color:'blue',
  64.                     fontSize:12,
  65.                     //对y轴数据格式进行处理
  66.                     formatter:function(value){
  67.                         if(value >= 1000){
  68.                             value = value / 1000 + 'k'
  69.                         }
  70.                         return value;
  71.                     }
  72.                 },
  73.                 //y轴线设置显示 默认显示y轴
  74.                 axisLine:{
  75.                     show:true
  76.                 },
  77.                 //与x轴平行的线样式
  78.                 splitLine:{
  79.                     show:true,                  //是否显示分割线
  80.                     lineStyle:{                 //分割线样式
  81.                         color:'#17273B',
  82.                         width:1,
  83.                         type:'solid',
  84.                     }
  85.                 }
  86.             }],
  87.             series:[{
  88.                 name:'累计确诊',         //要与图例名字对应
  89.                 type:'line',            //折线图
  90.                 smooth:true,            //平滑曲线显示  
  91.                 data:[]                 //数据区域
  92.             },{
  93.                 name:"累计治愈",
  94.                 type:'line',
  95.                 smooth:true,
  96.                 data:[]
  97.             },{
  98.                 name:"累计死亡",
  99.                 type:'line',
  100.                 smooth:true,
  101.                 data:[]
  102.             }]
  103.         };
  104.         //获得疫情数据
  105.         var chinaDayList = this.data.chinaDayList
  106.         //遍历每一天的数据
  107.         for(var day of chinaDayList){
  108.             console.info(day)
  109.             //x轴 时间
  110.             option.xAxis[0].data.push(day.date)
  111.             //累计确诊
  112.             option.series[0].data.push(day.confirm)
  113.             //累计治愈
  114.             option.series[1].data.push(day.heal)
  115.             //累计死亡
  116.             option.series[2].data.push(day.dead)
  117.         }
  118.         //使用刚指定的配置项和数据显示图标
  119.         left1Chart.setOption(option);
  120.     },
  121.     methods: {
  122.         
  123.     },
  124. };
  125. </script>
  126. <style lang="scss" scoped>
  127. </style>
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表