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

要想实现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日

相关文章

  • 4种API性能恶化根因分析

    摘要:服务发生性能恶化时,需要投入大量人力分析性能异常根因,分析成本高,耗时长。我们提出了一种先在异常调用链内部分析候选根因,再在全局拓扑环境下对候选根因进行汇聚的二级分析方法,克服了调用链之间异常相互影响导致根因难以确定的问题,快速识别和定位恶化接口的根因。 本文分享自华为云社区《【AIOps专题】API性能恶化根因分析》,作者:DevAI。 背景介绍 当…

    云计算 2023年4月17日
    00
  • 云计算与数据中心如何“联姻”

    在云服务开始得到广泛采用的同时,数据中心似乎即将走向末路。其实,从云计算和数据中心的技术角度来看,云平台的灵活得益于数据中心等基础设施的不断发展;而公有云和私有云基础设施,在缓解内部数据中心难题方面也发挥出巨大作用。它们之间的发展既相互促进又互为载体,这使云计算和数据中心今日的关系更像是一场“联姻”。   云计算、数据中心如何“联姻” 云计算和数据中心其实已…

    云计算 2023年4月12日
    00
  • 深度解析:微软云计算平台的通信技术与应用开发

         云计算近年来非常火热,已经成为目前继SOA、Web2.0之后又一个热门的话题。Amazon.com、Google和Microsoft都相继推出了自己的云计算平台。Microsoft的云计算平台叫做Azure,最初发布的开发包支持Visual Studio 2008,最新推出的Visual Studio 2010更是集成了Azure开发工具,让Azu…

    2023年4月10日
    00
  • C#基于Linq和反射实现数据持久化框架Xml4DB详解

    下面是关于“C#基于Linq和反射实现数据持久化框架Xml4DB详解”的完整攻略,包含两个示例说明。 简介 Xml4DB是一个基于Linq和反射实现的数据持久化框架,可以将对象序列化为XML格式并保存到文件中。在本攻略中,我们将介绍如何使用Xml4DB框架来实现数据持久化,包括创建数据模型、保存数据、读取数据等步骤。 步骤 在使用Xml4DB框架进行数据持久…

    云计算 2023年5月16日
    00
  • ASP.NET Core利用UrlFirewall对请求进行过滤的方法示例

    下面是“ASP.NET Core利用UrlFirewall对请求进行过滤的方法示例”的完整攻略。 1. 什么是UrlFirewall UrlFirewall是ASP.NET Core中的一个中间件,它可以根据一系列的规则,对请求的URL进行过滤,只允许合法的URL请求通过,而拦截并拒绝非法的URL请求。UrlFirewall的主要作用是提高应用程序的安全性。…

    云计算 2023年5月17日
    00
  • 浅谈ChatGPT 对当下互联网生态意义

    浅谈ChatGPT 对当下互联网生态意义 ChatGPT是一种基于GPT模型的聊天机器人,它可以通过对话学习不同的语言和知识,从而提供更加智能化的服务。在当下互联网生态中,ChatGPT具有重要的意义。下面是一份关于ChatGPT对当下互联网生态意义的完整攻略,包括背景介绍、ChatGPT的意义、示例说明等。 1. 背景介绍 随着互联网的发展,人们对于智能化…

    云计算 2023年5月16日
    00
  • 云计算笔记(一):基础概念

    本文用于收集和整理云计算设计的概念。 现在的云计算有些过热(“人人都在谈论它,但没有人真正知道它”),很多研究都挂上了这个名词来显示其时髦。从某种意义上讲:云计算is nothing new,只是概念的创造。重新整理了网络资源,特别适合与运营商(包括亚马逊)来整理他们的产品和服务。云计算提供了很好的梳理,梳理了信息内容提供和信息获取途径 。而云这个概念sel…

    云计算 2023年4月12日
    00
  • 如何用云计算改造“码农”?

    抬首即见蓝天白云、水清沙幼,低头还是一行行跳跃的代码。马尔代夫某海滩酒店的小阳台上,Coding创始人张海龙正在椰林树影的摩挲声中敲击着电脑键盘,在这位“码士”的心目中,“面朝大海,编写代码”对每个程序员都有终极梦想般的吸引力。 直至春节“休假模式”结束的数月后,张海龙回忆起此段经历还颇有余兴。创立于2014年初的Coding,定位于面向开发者的云端开发平台…

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