You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@echarts.apache.org by GitBox <gi...@apache.org> on 2018/07/30 10:01:17 UTC

[GitHub] LYlanfeng opened a new issue #8780: x轴 showMinLabel 会影藏第二个坐标轴问题

LYlanfeng opened a new issue #8780: x轴 showMinLabel 会影藏第二个坐标轴问题
URL: https://github.com/apache/incubator-echarts/issues/8780
 
 
   <!--
   为了方便我们能够复现和修复 bug,请遵从下面的规范描述您的问题。
   -->
   
   
   ### One-line summary [问题简述]
   在x轴有覆盖情况下,会影响第一个和第二个,然而echart提供了showMinLabel,showMaxLabel来设置显示第一个和最后一个,但是这样的显示第一个会隐藏第二个。这个不是想要的效果。
   经过查看源码找到如下方法:
   
   ```javascript
   function fixMinMaxLabelShow(axisModel, labelEls, tickEls) {
       console.log('fixMinMaxLabelShow')
       // If min or max are user set, we need to check
       // If the tick on min(max) are overlap on their neighbour tick
       // If they are overlapped, we need to hide the min(max) tick label
       var showMinLabel = axisModel.get('axisLabel.showMinLabel');
       var showMaxLabel = axisModel.get('axisLabel.showMaxLabel');
   
       // FIXME
       // Have not consider onBand yet, where tick els is more than label els.
   
       labelEls = labelEls || [];
       tickEls = tickEls || [];
   
       var firstLabel = labelEls[0];
       var nextLabel = labelEls[1];
       var lastLabel = labelEls[labelEls.length - 1];
       var prevLabel = labelEls[labelEls.length - 2];
   
       var firstTick = tickEls[0];
       var nextTick = tickEls[1];
       var lastTick = tickEls[tickEls.length - 1];
       var prevTick = tickEls[tickEls.length - 2];
   
       if (showMinLabel === false) {
           ignoreEl(firstLabel);
           ignoreEl(firstTick);
       }
       else if (isTwoLabelOverlapped(firstLabel, nextLabel)) {
           if (showMinLabel) {
               ignoreEl(nextLabel); // 关键这行代码,为什么要隐藏第二个。后面是否会优化还是本来设计就是如此?
               ignoreEl(nextTick);
           }
           else {
               ignoreEl(firstLabel);
               ignoreEl(firstTick);
           }
       }
   
       if (showMaxLabel === false) {
           ignoreEl(lastLabel);
           ignoreEl(lastTick);
       }
       else if (isTwoLabelOverlapped(prevLabel, lastLabel)) {
           if (showMaxLabel) {
               ignoreEl(prevLabel);
               ignoreEl(prevTick);
           }
           else {
               ignoreEl(lastLabel);
               ignoreEl(lastTick);
           }
       }
   }
   ```
   
   
   
   
   ### Version & Environment [版本及环境]
   + ECharts version [ECharts 版本]:
   + Browser version [浏览器类型和版本]:
   + OS Version [操作系统类型和版本]:
   
   
   
   
   
   ### Expected behaviour [期望结果]
   showMinLabel,showMaxLabel通过这2个设置,显示全部坐标轴
   
   
   
   
   ### ECharts option [ECharts配置项]
   <!-- Copy and paste your 'echarts option' here. -->
   <!-- [下方贴你的option,注意不要删掉下方 ```javascript 和 尾部的 ``` 字样。最好是我们能够直接运行的 option。如何得到能运行的 option 参见上方的 guidelines for contributing] -->
   ```javascript
   option = {
   
   }
   
   ```
   
   
   
   
   ### Other comments [其他信息]
   <!-- For example: Screenshot or Online demo -->
   <!-- [例如,截图或线上实例 (JSFiddle/JSBin/Codepen)] -->
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@echarts.apache.org
For additional commands, e-mail: dev-help@echarts.apache.org