echarts legend 重叠 (转载)
解决方案:
1. 调整option中的grid.top值才能避免重叠;(可以设置定制,也可以定义了一个计算公式)
2. 文档注明【特殊字符串 ''(空字符串)或者 '\n' (换行字符串)用于图例的换行。】
转载来源:http://blog.csdn.net/doleria/article/details/52503763
内容如下:
github地址:Data Visualization
---------------------------------------------------------------------------------------------------------------------------------------
当Echarts报表表头过多时,虽然Echarts会做自适应,但是由于图例文字可能过长等,图例与图表线条难免会重叠显示。如下图所示:
参考这篇文章,以及Echarts的官方文档,得出以下解决方案:
1. 文档注明【特殊字符串 ''(空字符串)或者 '\n' (换行字符串)用于图例的换行。】
2. 换行后动态调整option中的grid.top值才能避免重叠;(定义了一个计算公式)
在解决这个问题时,用PHP写了个定制Echarts的类,其中与调整图例相关的部分如下,仅供参考:
[php]view plaincopy
- <?php
- /**
- *CreatedbyPhpStorm.
- *User:liuyuning
- *Date:2016/8/9
- *Time:18:59
- */
- classEp_CustomizeEcharts{
- constLINE_NUM_EACH_ROW=3;//图例中每行显示的线条数目;
- constDEFAULT_LINE_NUM=6;//采用默认grid.top值的默认线条数目;
- constDEFAULT_GRID_TOP_PECENTAGE=18;//默认的grid.top百分比(整数部分);
- constDELTA_GRID_TOP_PECENTAGE=9;//超出默认线条数时的grid.top百分比增量(整数部分);
- constMAX_GRID_TOP_PECENTAGE=50;//最大的grid.top百分比(整数部分);
- /**
- *调整图例显示样式
- *@paramsarray需要调整的图例
- *@returnarray
- */
- publicfunctionadjustLegend($beforeLegend){
- //图例太多时,Echarts文档注明【特殊字符串''(空字符串)或者'\n'(换行字符串)用于图例的换行。】
- $afterLegend=array();
- $index=0;
- $len=count($beforeLegend);
- for($i=0;$i<$len;$i++){
- if(($index+1)%(self::LINE_NUM_EACH_ROW+1)===0){
- $afterLegend[$index]='';
- $index++;
- $afterLegend[$index]=$beforeLegend[$i];
- }else{
- $afterLegend[$index]=$beforeLegend[$i];
- }
- $index++;
- }
- return$afterLegend;
- }
- /**
- *设置grid.top值
- *@paramsarray需要调整的图例
- *@returnstring
- */
- publicfunctionsetGridTop($arrLegend){
- $len=count($arrLegend);
- //如果图例太多,需要调整option中的grid.top值才能避免重叠
- $topInt=$len>self::DEFAULT_LINE_NUM?
- self::DEFAULT_GRID_TOP_PECENTAGE+self::DELTA_GRID_TOP_PECENTAGE
- *(Ceil(($len-self::DEFAULT_LINE_NUM)/self::LINE_NUM_EACH_ROW))
- :self::DEFAULT_GRID_TOP_PECENTAGE;
- if($topInt>=self::MAX_GRID_TOP_PECENTAGE){
- $topInt=self::MAX_GRID_TOP_PECENTAGE;
- }
- $gridTop="$topInt%";
- return$gridTop;
- }
- }
调整好的效果如下图所示:
github地址:Data Visualization
相关推荐
郭朝 2010-09-27
追赶者 2010-09-26
liugan 2017-04-27
PythonMaker 2017-04-27
AnneZhao 2019-04-25
flueky 2010-07-07
Uching 2008-05-26
xuforeverlove 2019-03-31