Echarts 一个图表内显示两个数据展示形式

option = {
    xAxis: {
        type: 'category',
        data: ['1', '2', '3', '4', '5', '6', '7']
    },
    yAxis: {},
    series: [
        {
        symbolSize: 10,
        data: [
            ['1', 8.04],
            ['1', 6.95],
            ['1', 7.58],
            ['1', 8.81],
            ['1', 8.33],
            ['2', 7.66],
            ['2', 6.81],
            ['2', 6.33],
            ['2', 8.96],
            ['2', 6],
            ['3', 7.20],
            ['3', 7.20],
            ['3', 4.23],
            ['3', 7.83],
            ['3', 4.47],
            ['3', 3.33],
            ['4', 4.96],
            ['4', 7.24],
            ['4', 6.26],
            ['4', 8.84],
            ['4', 5.82],
            ['5', 5.68],
            ['5', 4.05],
            ['5', 6.03],
            ['5', 2.0],
            ['5', 7.83],
            ['6', 3.33],
            ['6', 4.96],
            ['6', 8.33],
            ['6', 7.66],
            ['6', 4.47],
            ['7', 7.58],
            ['7', 8.81],
            ['7', 7.66],
            ['7', 6.26],
            ['7', 6.03],
        ],
        type: 'scatter',
        markArea: {//设置具体区域的背景颜色,选择不同区间 设置图表对应的背景颜色
        silent: true,
        data: [
          [{
            yAxis:'1',
            itemStyle:{
              color:'#81b22f'
            }
 
          }, {
            yAxis:'2'
          }],[{
            yAxis:'2',
            itemStyle:{
              color:'#505765'
            }
          }, {
            yAxis:'3'
          }],[{
            yAxis:'3',
            itemStyle:{
              color:'#f4b9a9'
            }
          }, {
            yAxis:'4'
          }],[{
            yAxis:'4',
            itemStyle:{
              color:'#a5aeb44f'
            }
          }, {
            yAxis:'5'
          }]
 
        ]
      },
        markLine: { // 样式可以单独设置,也可以一起设置
      symbol: "none",
      silent: true, // 鼠标移上是否有响应(线变粗)
      data: [
        {
          yAxis: "8",
          //type: "min/max/average" // 特殊的标注类型,用于标注最大值最小值等。
          lineStyle: { // 线的样式
            color: "#77D048",
            width: 1,
            opacity: 0.8
          },
          label: { // 文字的样式,默认是白色,有时候文字不显示,可能是颜色的问题
            color: "#77D048",
            formatter:"优秀(350)",
          }
        },
        {
          yAxis: "9",
          lineStyle: { // 线的样式
            color: "#EFCA2A",
            width: 1,
            opacity: 0.8
          },
          label: { // 文字的样式,默认是白色,有时候文字不显示,可能是颜色的问题
            color: "#EFCA2A",
            formatter:"优秀(350)",
          }
        }
      ],
    },
    },
    
  {
    name: '产量',
    data: [8, 6.5, 5.8, 6.6, 4.9, 6.2, 7.3],
    type: 'line',
    itemStyle: {
      normal: {
        lineStyle: {
          width: 2,
        }
      }
    }}]
};

在这里插入图片描述

### 实现 Vue3 中两个 ECharts 图表 #### 创建和配置两个 ECharts 图表实例 为了在 Vue3 项目中创建并配置两个 ECharts 图表,需遵循以下流程: 1. **安装依赖** 确保已安装 `echarts` 库。如果尚未安装,则可通过命令行工具执行如下操作来完成安装[^2]。 ```bash cnpm install echarts ``` 2. **引入 ECharts** 在需要使用的组件文件顶部导入 ECharts 库。 ```javascript import * as echarts from 'echarts'; ``` 3. **模板部分设置容器** HTML 模板里为每个图表预留显示区域,通常使用 `<div>` 定义,并赋予唯一 ID 或者绑定动态属性以便后续 JavaScript 访问这些 DOM 节点[^1]。 ```html <template> <div> <!-- 第一个图表 --> <div id="chart-one" style="width: 600px;height:400px;"></div> <!-- 第二个图表 --> <div id="chart-two" style="width: 600px;height:400px;"></div> </div> </template> ``` 4. **脚本逻辑编写** 利用生命周期钩子函数(如 mounted),分别初始化两个不同ECharts 实例对象,并调用各自的 `setOption()` 方法传入相应的选项数据结构以定制化外观样式与行为特性。 ```javascript <script setup> import { onMounted, ref } from "vue"; import * as echarts from 'echarts'; onMounted(() => { // 获取第一个图表DOM节点 let chartOneDom = document.getElementById('chart-one'); // 初始化第一个ECharts实例 var chartOneInstance = echarts.init(chartOneDom); // 设置第一个图表的option chartOneInstance.setOption({ title : { text: '第一个柱状', subtext: '' }, tooltip : { trigger: 'axis' }, xAxis : [ { type : 'category', data : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] } ], yAxis : [ { type : 'value' } ], series : [ { name:'销量', type:'bar', data:[120, 132, 101, 134, 90, 230, 210] } ] }); // 同样的过程应用于第二个图表 let chartTwoDom = document.getElementById('chart-two'); var chartTwoInstance = echarts.init(chartTwoDom); chartTwoInstance.setOption({ title : { text: '第二个折线', subtext: '' }, tooltip : { trigger: 'axis' }, xAxis : [ { type : 'category', boundaryGap : false, data : ['周一','周二','周三','周四','周五','周六','周日'] } ], yAxis : [ { type : 'value' } ], series : [ { name:'邮件营销', type:'line', stack: '总量', areaStyle: {}, data:[120, 132, 101, 134, 90, 230, 210] } ] }); }); </script> ``` 上述代码展示了如何在一个 Vue 组件内部同时管理两个独立运作却又相互关联的 ECharts 可视化形;其中不仅包含了基础的数据序列定义还涉及到了不同类型的可视化表达形式——柱形与折线之间的对比呈现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值