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

本文介绍了如何实现ECharts图表中双Y轴的刻度线保持一致。通过设置`yAxis`的`min`, `max`, `splitNumber`和`interval`属性,以及调整轴标签和线样式,可以确保两个Y轴的刻度线对齐。同时,提供了jQuery数组获取最大值和最小值的方法,以及示例代码展示了如何处理两个Y轴的最大值以实现刻度线重合。" 100176897,8597016,模拟停车场系统:A1095 Cars on Campus解析,"['算法', '编程', '数据结构', '模拟', '排序']
摘要由CSDN通过智能技术生成

不一致的情况如下图:

修改成一致的情况如下图:

代码如下:

yAxis : [

{

type : 'value',

name : '人数',

//splitLine:{show:false},

axisLabel : {

formatter: '{value} 个',

textStyle:{color: '#A23400'}//#A23400 purple

},

axisLine:{

lineStyle:{color:'#A23400',width:'1'} //y轴坐标轴颜色 #A23400 black

}

},

{

type : 'value',

name : '人次',

//splitLine:{show:false},

axisLabel : {

formatter: qfamtter,

textStyle:{color: '#00AEAE'}//#00AEAE blue

},

axisLine:{

lineStyle:{color:'#00AEAE',width:'1'} //y轴坐标轴颜色 #00AEAE black

},

min: 0,

max: Max2*2,

splitNumber: 6,

interval: (Max2*2 - 0) / 6

}

其中需要加:

min: 0,

max: Max2*2,

splitNumber: 6,

interval: (Max2*2 - 0) / 6

左边Y轴默认了分成6段,所以要把右边Y轴也分成6段。

附加:jquery 数组获取最大值和最值的方法,仅供参考

//计算最大值

function cal_Max(a) {

//debugger

a=$.grep(a,function(n,i){return i>0;});

var maxval = Math.max.apply(null, a);

return maxval;

}

//计算最小值

function calMin(a) {

a=$.grep(a,function(n,i){return i>0;});

var minval = Math.min.apply(null, a)

return minval;

}

补充知识:echarts 两个y轴展示折线图,并使两个y轴刻度线重合

效果如图:

y轴刻度不重合情况:

代码如下,具体的数据处理就不再一一展示,只看画图部分:

drawGraphChart() {

// 具体的数据格式可以参考: https://echarts.baidu.com/examples/editor.html?c=multiple-y-axis

// 处理两个y轴的最大值 => 为使两个y轴的标度线完全重合

// 拿到左右两个y轴的最大数据之后 给他们分别取整成为最终 y轴上展示的值 也是为了能够确保两个值都能整除10

const maxY1 = parseInt((Math.max(...maxData1) + 2000) / 1000) * 1000

const maxY2 = parseInt((Math.max(...maxData2) + 10) / 10) * 10

this.myChart = this.$echarts.init(document.getElementById('drawChart'))

// var color = ['#d14a61', '#5793f3'], // 这个颜色和y轴的颜色对应,如果画的曲线较少,可以直接用两种颜色区分线是按照哪个坐标轴的刻度画的

const option = {

title: {

left: 20,

text: '趋势图'

},

xAxis: {

type: 'category',

// boundaryGap: false, // 数据完全填充x轴

data: this.toRepeatTimeArr // x轴时间

},

legend: {

type: 'scroll',

right: 120,

top: 0,

left: '65%',

bottom: 0,

data: legendTankNum // 图例

},

grid: {

left: '6%',

right: '6%',

top: '14%'

},

tooltip: {

trigger: 'axis',

axisPointer: {

type: 'cross'

}

},

yAxis: [

{

type: 'value',

name: '体积',

min: 0,

max: maxY1, // 左侧y轴最大值

// 两个y轴的刻度必须整除一个相同的数才能重合

interval: Math.ceil(maxY1 / 10), // 间距等分为10等分

position: 'left', // y轴在左侧

// y轴的颜色和按y轴刻度画的曲线的颜色

// axisLine: {

// lineStyle: {

// color: color[0]

// }

// },

axisLabel: {

formatter: '{value} L'

}

},

{

type: 'value',

name: '温度',

min: 0,

max: maxY2, // 右侧y轴最大值

interval: Math.ceil(maxY2 / 10), // 间距等分为10等分

position: 'right', // y轴在右侧

// axisLine: {

// lineStyle: {

// color: color[1]

// }

// },

axisLabel: {

formatter: '{value} °C'

}

}

],

toolbox: {

right: 80,

top: -5,

feature: {

saveAsImage: {}

}

},

// {name: '--',type: 'line',data:[0,0,0···]}

series: allRealData

}

// true 图数据不叠加

this.myChart.setOption(option, true)

}

对于echarts左右y轴刻度,可以采用以下几种方法来解决: 1. 让两个坐标轴共用一个最大值,可以保持刻度一致。即,在两个y轴数组中找到最大值,然后将它作为共同的最大值。 2. 使用JavaScript中的Math.max方法来获取左右y轴数组的最大值,然后将两个最大值中的较大值作为共同的最大值。这样可以确保两个y轴刻度一致。 以上方法可以确保echarts左右y轴刻度保持一致,使图表更加清晰和易于比较。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [echartsy轴实现(解决刻度线不对齐)](https://blog.csdn.net/m0_55546349/article/details/121786189)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MATLAB代码示例,用于建立模型表示物理或工程系统,并使用矩阵代数来描述系统的动态性质(附详细操作步骤)...](https://download.csdn.net/download/weixin_44609920/88237902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值