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

相关文章

  • .net core静态中间件的使用

    .NET Core静态中间件的使用攻略 在 .NET Core 中,中间件是一种处理 HTTP 请求和响应的机制。静态中间件是一种特殊的中间件,用于提供静态文件服务。本文将提供一个完整的攻略,包括如何创建 .NET Core 项目、如何使用静态中间件、如何使用示例代码等内容。 创建.NET Core 项目 在开始实现静态中间件的功能之前,我们需要先创建一个 …

    云计算 2023年5月16日
    00
  • Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图

    Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图 简介 Matplotlib是Python中的一个数据可视化库,可以用来分析和展示数据。其中,包括折线图、柱状图和柱线混合图。本文将介绍如何使用Matplotlib库绘制这三种图形。 折线图 折线图是表达连续数据的一种图形,用于展示数据随时间、空间或其他可变参数而变化的趋势。 折线图…

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

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

    云计算 2023年5月17日
    00
  • SOA、ESB、NServiceBus、云计算 总结

    SOA SOA 是通过功能组件化、服务化,来实现系统集成、解决信息孤岛,这是其主要目标。而更进一步则是实现更快响应业务的变化、更快推出新的应用系统。与此同时,SOA 还实现了整合资源,资源复用。 SOA 服务的设计标准是粗粒度、高重用、灵活、标准。性能则并非首要考虑因素。 SOA 的两大功能是集成、服务编排(BPEL、BPM)。WF 在 SOA 架构中,实现…

    云计算 2023年4月13日
    00
  • 续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

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

    云计算 2023年4月17日
    00
  • Elasticsearch查询及聚合类DSL语句宝典

    随着使用es场景的增多,工作当中避免不了去使用es进行数据的存储,在数据存储到es当中以后就需要使用DSL语句进行数据的查询、聚合等操作,DSL对SE的意义就像SQL对MySQL一样,学会如何编写查询语句决定了后期是否能完全驾驭ES,所以至关重要,本专题主要是分享常用的DSL语句,拿来即用。 作者:京东科技 纪海雨 前言 随着使用es场景的增多,工作当中避免…

    云计算 2023年4月10日
    00
  • 致力于打造下一代去中心化云计算底层操作系统的BHP, 企图打破算力垄断

    云计算作为一种把许多计算资源集合起来,通过软件实现自动化管理,让计算能力如同水电一样让所有人简单取用的商业模式,有效降低了许多中小企业、初创公司的运营成本,不再需要建立自己的机房,同时也为 AWS、Google Cloud、阿里云等巨头带来了丰厚的利润。 但云计算不断发展的同时也带来了算力垄断的问题,一方面,全球网络数据指数型增长,对算力的需求与日俱增,另一…

    云计算 2023年4月13日
    00
  • vue使用stompjs实现mqtt消息推送通知

    讲解“vue使用stompjs实现mqtt消息推送通知”的攻略,可以分为以下几个步骤: 引入stompjs和mqtt.js包 在Vue项目中的命令行界面输入以下命令来安装: npm install stompjs mqtt –save 创建Vue组件 在Vue项目中的src目录下创建一个components文件夹,并在该文件夹下创建一个Message.vu…

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