实现ECharts双Y轴左右刻度线一致的例子

yizhihongxing

要想实现ECharts双Y轴左右刻度线一致,需要进行如下步骤:

1. 设置双Y轴的刻度最大值和最小值一致

首先,在ECharts图表的yAxis属性中,分别设置左右两个Y轴的minmax属性值相同,这样可以保证两个Y轴的范围一致,代码示例如下:

yAxis: [
  {
    type: 'value',
    name: '第一个Y轴',
    min: 0,
    max: 100
  },
  {
    type: 'value',
    name: '第二个Y轴',
    min: 0,
    max: 100
  }
]

2. 设置双Y轴的刻度间隔一致

在设置了Y轴范围一致后,需要对Y轴的刻度进行同步,这可以通过设置左右两个Y轴的interval属性来实现,代码示例如下:

yAxis: [
  {
    type: 'value',
    name: '第一个Y轴',
    min: 0,
    max: 100,
    interval: 10
  },
  {
    type: 'value',
    name: '第二个Y轴',
    min: 0,
    max: 100,
    interval: 10
  }
]

示例说明

为了更好的说明如何实现ECharts双Y轴左右刻度线一致,这里提供两个示例:

示例一:饼图和柱状图双重标尺

这个示例展示了饼图和柱状图同屏展示,且饼图在左侧的Y轴和柱状图在右侧的Y轴刻度线一致。代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>ECharts双Y轴左右刻度线一致示例</title>
  <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body>
  <div id="container" style="width: 600px;height:400px;"></div>
  <script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('container'));

    // 饼图所需要的数据
    var pieData = [
      {value: 335, name: '直接访问'},
      {value: 310, name: '邮件营销'},
      {value: 234, name: '联盟广告'},
      {value: 135, name: '视频广告'},
      {value: 1548, name: '搜索引擎'}
    ];

    // 柱状图所需要的数据
    var barData = [820, 932, 901, 934, 1290, 1330, 1320];

    // 通用的Y轴配置
    var yAxisConfig = {
      type: 'value',
      min: 0,
      max: Math.max(4000, Math.max.apply(null, barData)),
      interval: 1000
    };

    // 图表的配置项
    var option = {
      yAxis: [
        yAxisConfig,
        Object.assign({}, yAxisConfig, {
          axisLine: {
            show: false
          },
          axisLabel: {
            show: false
          },
          splitLine: {
            show: false
          }
        })
      ],
      series: [
        {
          type: 'pie',
          radius: '40%',
          center: ['25%', '50%'],
          data: pieData
        },
        {
          type: 'bar',
          xAxisIndex: 1,
          yAxisIndex: 1,
          barWidth: 20,
          data: barData
        }
      ]
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
  </script>
</body>
</html>

示例二:同一坐标系下显示双Y轴

这个示例展示了同一坐标系下同时展示线性图和柱状图,且保证左侧线性图和右侧柱状图的Y轴刻度线一致。代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>ECharts双Y轴左右刻度线一致示例</title>
  <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body>
  <div id="container" style="width: 600px;height:400px;"></div>
  <script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('container'));

    // 线性图所需要的数据
    var lineData = [11, 11, 15, 13, 12, 13, 10];

    // 柱状图所需要的数据
    var barData = [820, 932, 901, 934, 1290, 1330, 1320];

    // 图表的配置项
    var option = {
      legend: {
        data: ['线性图', '柱状图']
      },
      grid: [
        {
          left: '10%',
          bottom: '25%'
        },
        {
          left: '10%',
          height: '20%',
          bottom: '5%'
        }
      ],
      xAxis: [
        {
          type: 'category',
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        {
          type: 'category',
          gridIndex: 1,
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
          axisLine: {
            lineStyle: {
              color: '#ccc'
            }
          },
          axisTick: {
            show: false
          }
        }
      ],
      yAxis: [
        {
          type: 'value',
          name: '线性图',
          min: 0,
          max: Math.max(20, Math.max.apply(null, lineData)),
          interval: 5
        },
        {
          type: 'value',
          name: '柱状图',
          min: 0,
          max: Math.max(4000, Math.max.apply(null, barData)),
          interval: 1000,
          axisLine: {
            show: false
          },
          axisLabel: {
            show: false
          },
          splitLine: {
            show: false
          }
        }
      ],
      series: [
        {
          name: '线性图',
          type: 'line',
          data: lineData
        },
        {
          name: '柱状图',
          type: 'bar',
          xAxisIndex: 1,
          yAxisIndex: 1,
          barWidth: 20,
          data: barData
        }
      ]
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
  </script>
</body>
</html>

以上是如何实现ECharts双Y轴左右刻度线一致的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:实现ECharts双Y轴左右刻度线一致的例子 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

    书接前文,上篇文章我们教大家如何三分钟时间用 Laf 实现一个自己的 ChatGPT。 一觉醒来,GPT-4 已经发布了! GPT-4 实现了真正的多模态,可以把纸笔画的原型直接写出网页代码。读论文时还能理解插图含意。 好消息是,ChatGPT Plus 用户目前可以提前尝鲜 GPT-4 模型。作为高贵的 Plus 用户,这怎么能忍?立马打开 ChatGPT…

    云计算 2023年4月17日
    00
  • 云计算技术解析 – 北纬三十度

    云计算技术解析  【1】核心功能 by 林玥煜、邓侃 前几天,有朋友与我讨论云计算的投资方向。他翻出 2009 年 Gartner 的 IT 行业分析报告 [1],说如果 Gartner 的判断是正确的,2009 年是云计算被炒作得最热的一年。从那以后的 2-5 年,即从 2011 年到 2014 年,云计算的热度将降低。水分被晾干以后,剩下的是干货,然后主…

    云计算 2023年4月13日
    00
  • 图解Python变量与赋值

    当我们编写Python程序时,我们必须要学会如何定义变量并对它们进行赋值。在本篇文章中,我们将通过图解的方式来介绍Python中变量的定义与赋值。 一、变量的定义 在Python中定义变量非常简单,只需要使用一个等号(=)即可。下面是一个例子: name = ‘John’ 在上面的代码中,我们定义了一个字符串类型的变量并给它赋值为 “John” 。注意,Py…

    云计算 2023年5月18日
    00
  • 花样使用Handler与源码分析

    接下来我将详细讲解“花样使用Handler与源码分析”的完整攻略。 概述 在Android应用程序中使用Handler,可以让UI线程和工作线程之间进行消息传递,从而实现UI更新。Handler是实现线程间通信的强大的工具,熟练使用Handler可以很好地提高Android应用程序的响应性和性能。 本文将介绍使用Handler的基本原则和使用技巧,并解析Ha…

    云计算 2023年5月17日
    00
  • Windows 11安全工具SAC加入封锁ISO/LNK等多种文件

    Windows 11安全工具SAC加入封锁ISO/LNK等多种文件 Windows 11的安全工具SAC(Security Attestation Compliance)是一种用于保护系统安全的工具,可以帮助用户检测和防范恶意软件和攻击。其中,SAC加入封锁ISO/LNK等多种文件的功能可以有效地防止用户在使用电脑时误操作或下载恶意文件。下面是一份关于如何使…

    云计算 2023年5月16日
    00
  • 使用JSON格式提交数据到服务端的实例代码

    使用JSON格式提交数据到服务端的实例代码攻略: JSON是一种轻量级的数据交换格式,常用于前后端数据交互。在前端,我们可以使用JavaScript的JSON对象来处理JSON数据。在本攻略中,我们将提供一个完整的示例代码,演示如何使用JSON格式提交数据到服务端。 步骤1:创建一个HTML表单 首先,我们需要在HTML中创建一个表单,用于收集用户的数据。以…

    云计算 2023年5月16日
    00
  • 2022年高性能公链币排名一览 2022年九大公链币(九大虚拟货币排行)

    2022年高性能公链币排名一览 介绍 2022年,随着区块链技术的逐步成熟,公链币开始成为市场焦点。本文将对2022年的高性能公链币进行排名,同时提供九大公链币(九大虚拟货币排行)的详细说明。希望为投资者提供一些参考。 高性能公链币排名 本次排名基于以下指标:交易速度、可扩展性、安全性等。下面是排名结果: EOS:EOS以其高效的交易速度和可扩展性位居榜首。…

    云计算 2023年5月17日
    00
  • Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)

    下面我将详细讲解如何使用Vue和高德地图搭建实时公交应用功能,包括地图、附近站点、线路详情、输入提示和换乘详情五个部分。 1. 准备工作 在开始搭建实时公交应用之前,我们需要先进行一些准备工作:1. 在高德开放平台上注册开发者账号,并申请一个Web服务的API Key;2. 在Vue项目中安装高德地图的SDK:npm install vue-amap –s…

    云计算 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部