Echarts曲线设置多条X轴和Y轴

本文介绍了如何在Echarts中设置多条X轴和Y轴,包括当横坐标数量大于2时如何指定坐标轴位置和使用offset参数避免重叠。同时,针对在有多个X轴时tooltip出现多条指示线的问题,提出了通过配置axisPointer为none来隐藏不需要的指示线的方法,确保只显示一条指示线及其对应X轴数据。

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

Echarts曲线设置多条X轴和Y轴效果图如下:

1.

 2.

 

xAxis 是一个数组,当横坐标数量小于等于2的时候,默认显示下上两个坐标轴,如果大于2,则可以指定位置,并使用 offset 参数修正位置,不重叠。但,当echarts 有2个或者2个以上x轴时,tooltip trigger:axis的情况下会出现2条或者2条以上的指示线。 但是我只希望其中一个x轴触发tooltip,另一个不触发,只显示一条指示线及相应x轴数据。需做如下配置:

每个x轴的配置项有

axisPointer 这个配置项

在不想显示的x轴上 写配置项

axisPointer type 为 none 即可

如下

 xAxis: [{
            type: 'category',
            position: 'bottom',
            data: [...]
        },{
            type: 'category',
            position: 'bottom',
            offset: 25,
            axisPointer: {
                type: 'none'
            },
            data: [...]
        }]

则第二个会隐藏

eg:2个x轴配置

  "xAxis": [
                {
                       "name":"xxxxA", "max":"400", "type": "value"
}, {
"name":"xxxxB", "type": "value" } ],
eg:多个x轴配置
  "xAxis": [
                   {
                       "name":"xxxxA", "max":"400", "type": "value"}, { "name":"xxxxB", "type": "value" }, { "name":"xxxxC", "type": "value", "position":"top" "offset":30, } ], 

最后在series中设置xAxisIndexxaxisindex 就可以了

              "series": [
                    {
                        "name":"学程数",
                        "type":"line", "xAxisIndex": 1, "data":[1,2,4,5, 8, 9.0, 8,6,5,9] }, { "name":"总题数", "type":"bar", "data":[20,10,20, 49, 70, 180,70,88,93,72] }, { "name":"错题数", "type":"bar", "data":[5, 9, 9,8,24,9,11,32,13,21] } ]

示例代码01:
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<title>ECharts</title>
### 如何在 ECharts设置折线图 X 与 Y 相交点的标记大小 要在 ECharts 的折线图中自定义 X 与 Y 相交点的标记大小,可以通过 `series` 配置项中的 `markPoint` 或者通过绘制额外的数据点来实现。以下是详细的解决方案: #### 解决方案概述 ECharts 提供了灵活的方式来定制图表上的特殊点样式。如果需要突出显示 X Y 的交点,则可以利用 `markPoint` 功能或者手动向数据集中添加该交点作为单独的一个系列。 1. **使用 markPoint 定义交点** 可以通过 `markPoint` 数据属性指定特定位置,并为其设定样式参数(如颜色、形状尺寸)。这允许开发者精确控制交点的表现形式[^2]。 2. **增加独立数据序列代表交点** 将计算得出的实际交点坐标加入一个新的 series 中,仅渲染此单一点而不连接其他任何线条。这样做的好处是可以完全自由地设计这个特别标注点的样子,包括但不限于其大小调整[^3]。 下面给出具体代码示例说明上述两种方法之一——即采用第二种方式实现增大交点视觉效果的需求: ```javascript // 初始化echart实例对象 var myChart = echarts.init(document.getElementById('main')); let option = { tooltip: {}, legend: {}, xAxis: [{ type: 'category', boundaryGap: false, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }], yAxis: [ {type : 'value'} ], series: [ // 正常的第一条折线数据 { name:'Line 1', type:'line', smooth:true, data:[820, 932, 901, 934, 1290, 1330, 1320], }, // 正常的第二条折线数据 { name:'Line 2', type:'line', smooth:true, data:[760, 632, 701, 734, 1090, 1130, 1120], }, // 新增一个专门用来表示两直线交叉点的小圆圈 { symbolSize: 15,// 这里设置了较大的symbol size让交点更明显可见 itemStyle:{ color:'#ff0000' // 改变交点的颜色以便区分 }, name:"Intersection Point", type:'scatter', data:[[2,901]] // 假设已知这两条曲线在此处交汇[(index,value)] } ] }; myChart.setOption(option); ``` 以上脚本片段展示了如何创建一个具有显著较大符号尺寸的散点图层,它只包含单一数据点对应于先前确定下来的两个函数图像之间的唯一公共解的位置[^5]。 #### 注意事项 - 如果存在个交点则需相应扩展 `data` 数组长度。 - 记得依据实际业务逻辑准确算取每一对有效交集的确切座标值再填充至最终呈现结构之中去。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值