echarts,X轴值相同,两个Y轴的值不同

这篇博客展示了如何使用Echarts创建一个X轴值相同,但拥有两个不同Y轴的图表,分别显示蒸发量、降水量和平均温度的数据。通过示例代码详细解释了配置项和数据设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">   
    .datagrid-header {
    position: absolute; visibility: hidden;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%@ include file="basejs.jsp" %>
<!-- 引入 ECharts 文件 -->
<script src="echarts.min.js"></script>
<title>Insert title here</title>
</head>
<body>
     <div style="float: right;top:40%;right: 2%;overflow: hidden;width: auto">
        <table id="xiaoshou" title="主要指标" class="easyui-datagrid" style="width: 74px;"
                url="data/my_datagrid_data.json">
            <thead>
                <tr>
                    <th field="ck" checkbox="true">ck</th>
                    <th field="zhibiao" width="auto"></th>
                </tr>
            </thead>
        </table>
    </div>    
    <div id="main" style="width: 600px;height:400px;"></div>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));

        // 指定图表的配置项和数据
        var option = {
                tooltip: {
                    trigger: 'axis'
                },

                legend: {
                    data: ['蒸发量', '降水量', '平均温度']
                },
                xAxis: [{
                    type: 'category',
                    data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
                }],
                yAxis: [{
                        type: 'value',
                        name: '水量',
                        min: 0,
                        max: 250,
                        interval: 50,
                        axisLabel: {
                            formatter: '{value} ml'
                        }
                    },
                    {
                        type: 'value',
                        name: '温度',
                        min: 0,
                        max: 25,
                        interval: 5,
                        axisLabel: {
                            formatter: '{value} °C'
                        }
                    }
                ],
                series: [{
                        name: '蒸发量',
                        type: 'bar',
                        data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
                    },
                    {
                        name: '降水量',
                        type: 'bar',
                        data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
                    },
                    {
                        name: '平均温度',
                        type: 'line',
                        yAxisIndex: 1,
                        data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
                    }
                ]
            };

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

转载于:https://my.oschina.net/hfq/blog/1619165

ECharts提供了两种方式来生成x: 1. 直接在数据中指定x 在数据中指定x是最简单的方法。例如,在一个包含年份和销售额的数据中,可以将年份作为x,销售额作为y。如下所示: ```javascript var data = [ {year: '2015', sales: 100}, {year: '2016', sales: 200}, {year: '2017', sales: 300}, {year: '2018', sales: 400}, ]; ``` 在ECharts中,可以通过设置xAxis.type为'category',来将x设置为类目型数据。如下所示: ```javascript option = { xAxis: { type: 'category', data: ['2015', '2016', '2017', '2018'] }, yAxis: {}, series: [{ type: 'line', data: [100, 200, 300, 400] }] }; ``` 2. 使用ECharts自动生成功能 ECharts提供了自动生成的功能,可以根据数据自动生成x。需要设置xAxis.type为'value',并且不设置xAxis.data。如下所示: ```javascript option = { xAxis: { type: 'value' }, yAxis: {}, series: [{ type: 'line', data: [[2015, 100], [2016, 200], [2017, 300], [2018, 400]] }] }; ``` 在这个例子中,ECharts会根据数据自动生成x。如果要自定义x,可以通过formatter函数来实现。如下所示: ```javascript option = { xAxis: { type: 'value', axisLabel: { formatter: function (value) { return value + '年'; } } }, yAxis: {}, series: [{ type: 'line', data: [[2015, 100], [2016, 200], [2017, 300], [2018, 400]] }] }; ``` 在这个例子中,formatter函数会将x加上'年'字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值