You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by "fff21 (via GitHub)" <gi...@apache.org> on 2023/05/12 05:47:06 UTC

[GitHub] [echarts] fff21 opened a new issue, #18617: 怎么延长线性回归 线?

fff21 opened a new issue, #18617:
URL: https://github.com/apache/echarts/issues/18617

   ### What problem does this feature solve?
   
   ### What problem does this feature solve?
   
   轴线数值较大, 数据较小的时候挤在中间, 怎么才能让线的两头触底 (如图所示)
   希望能得到解决方法(ノ゚▽゚)ノ
   `getEchart() {
         this.$echarts.registerTransform(ecStat.transform.regression);
   
         let myChart4 = this.$echarts.init(document.getElementById("charts"));
   
         let mp = {
           symbol: 'arrow', symbolSize: 5, symbolRotate: -90,
           label: {show: true, position: 'left', formatter:'{c}'},
           data: [
             {yAxis: 5, xAxis:10, value:'5.00'},
             {yAxis: 40, xAxis:10, value:'40.00'}
           ]
         }
   
         let option = {
           dataset: [
             {
               source: [
                 [90, 12.988],
                 [109,30],
                 [283, 42.5],
                 [327, 56.0],
                 [452, 74.4],
                 [440, 88.2],
               ],
             },
             {
               transform: {
                 type: 'ecStat:regression'
               }
             },
             {
               id: 2,
               source: [
                 [173, 21],
                 [221,34],
                 [456,41],
                 [466,62],
                 [744,89]
               ]
             },
             {
               fromDatasetId: 2,
               transform: {
                 type: 'ecStat:regression'
               }
             },
             {
               id: 3,
               source: [
                 [344,21],
                 [821,36],
                 [856,51],
                 [879,67],
                 [958,81]
               ]
             },
             {
               fromDatasetId:3,
               transform: {
                 type: 'ecStat:regression'
               }
             }
           ],
   
           legend: {
             bottom: 5
           },
           tooltip: {
             trigger: 'axis',
             axisPointer: {
               type: 'cross'
             }
           },
           xAxis: {
             type: 'log',
             min: 10, max: 1000000,
             splitLine: {
               lineStyle: {
                 type: 'dashed'
               }
             },
             axisLabel: {
               formatter: function (value) {
                 if (Math.abs(value) > 1000) {
                   if (value == 0) {
                     return "0";
                     // 检查是否已经转化为科学计数了
                   } else if ((value + '').indexOf('e') > 0) {
                     return (value + '').replace(/e/, "E");
                   } else {
                     var res = value.toString();
                     var numN1 = 0;
                     var numN2 = 1;
                     var num1 = 0;
                     var num2 = 0;
                     var t1 = 1;
                     // 计入小数点前后有多少位
                     for (var k = 0; k < res.length; k++) {
                       if (res[k] == ".")
                         t1 = 0;
                       if (t1)
                         num1++;
                       else
                         num2++;
                     }
                     // 均转换为科学计数法表示
                     if (Math.abs(value) < 1) {
                       // 小数点后一位开始计算
                       for (var i = 2; i < res.length; i++) {
                         if (res[i] == "0") {
                           numN2++; //记录10的负指数值(默认值从1开始)
                         } else if (res[i] == ".")
                           continue;
                         else
                           break;
                       }
                       let v = parseFloat(value);
                       // 10的numN2次方
                       v = v * Math.pow(10, numN2);
                       v = v.toFixed(1); //四舍五入 仅保留一位小数位数
                       return v.toString() + "e-" + numN2;
                     } else if (num1 > 1) {
                       numN1 = num1 - 1;
                       let v = parseFloat(value);
                       v = v / Math.pow(10, numN1);
                       if (num2 > 1) {
                         v = v.toFixed(1);
                       }
                       return v.toString() + "e" + `+`+  numN1;
                     }
                   }
                 } else {
                   return value;
                 }
               }
             }
           },
           yAxis: {
             type: 'log',
             min: 1.0, max: 99.90,
             splitLine: {
               lineStyle: {
                 type: 'dashed'
               }
             }
           },
           series: [
             {
               symbol:'triangle',
               name: 'scatter',
               type: 'scatter',
               datasetIndex: 0
             },
             {
               name: 'line',
               type: 'line',
               datasetIndex: 1,
               symbol: 'circle',
               encode: { label: 2, tooltip: 1 }
             },
             {
               //散点形状设置symbol: 'circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, 'arrow’
               symbol:'roundRect',
               name: 'scatter2',
               type: 'scatter',
               datasetIndex: 2
             },
             {
               name: 'line2',
               type: 'line',
               smooth: true,
               datasetIndex: 3,
               symbol: 'circle',
               encode: { label: 2, tooltip: 1 }
             },
             {
               name: 'scatter3',
               type: 'scatter',
               datasetIndex: 4
             },
             {
               name: 'line3',
               type: 'line',
               smooth: true,
               datasetIndex:5,
               symbol: 'circle',
               encode: { label: 2, tooltip: 1 }
             },
             {
               type: 'scatter',
               datasetIndex:6,
               itemStyle: {
                 normal: {
                   color: '#a80000', //改变折线点的颜色
                   lineStyle: {
                     color: '#a80000' //改变折线颜色
                   }
                 }
               },
               markPoint: mp,
               markLine: {
                 symbol: ['none','none'],
                 label: {position:'start'},
                 data: [{yAxis: 63.21}]
               }
             },
           ]
         };
         // 使用指定的配置项和数据显示图表。
         myChart4.setOption(option);
       },`
   
   ### What does the proposed API look like?
   
   ![Snipaste_2023-05-12_13-34-26](https://github.com/apache/echarts/assets/130143783/cc6e026c-9226-4ab0-b9b1-77180e45a52f)
   这个是想要实现的效果


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [echarts] fff21 commented on issue #18617: 怎么延长线性回归 线?

Posted by "fff21 (via GitHub)" <gi...@apache.org>.
fff21 commented on issue #18617:
URL: https://github.com/apache/echarts/issues/18617#issuecomment-1545296445

   > ,这可能与您之前的问题#18592有关。我认为回归线不能扩展,它显然在两个轴上都缩放到最小/最大散点值。这在一般情况下很好。但似乎[您的图表](https://www.nationrel.com/upload/images/20210730/202107301052.png)非常专业,具有不寻常的要求。自定义散点和折线等常规图表有其局限性。另一种选择是自己计算和绘制回归线,而无需使用 _ecStat_。
   > 
   > 顺便说一句,[数据转换](https://apache.github.io/echarts-handbook/en/concepts/data-transform/#use-external-transforms)有不同的回归方法,_线性_只是其中之一,[演示代码](https://echarts.apache.org/examples/en/editor.html?c=line-simple&code=KYYwFghgTgLgzgOisA5gSzjYUAqUIB2cAZgPZQC2AFKAMowQwIz5FmVKrJxxqkEBKANwAoCgAcABAF5JAbxGTJcAJ4UARqQA2ALkkByaFFIB3fQBpFytZq200AL2B6ArJaWqN2gEqkGWPQBaAE4ABndJLQh1YF15ZTBTPRYAV2BzSXFSXhg-Aj19LWBiGAtJdgpGLCgCuRAAX31JeoiAE0YIPQBtKyU5SRUAQQAPDFcM4ZGxyQBGcMkANwgtNIKXBFDQppbe-KHRuD0AFnnJg705jKWV5wMTja3mqwBdEXrRUnFc_hl5K3aGHBgDBursFEoIcpSCkoCBbj1IZCumEMjMAEwIYIADixzwiiMkXTmwQyAGZQnjdki0VjSRkjhiXJSCUouqS0QB2DIuABsG2ZLK6RxcaIyHKOCCOAoJQpOGRxCDRrwJyohO0h4MRLEIJHIFD0moJMBU4lu-jo_h0yBQ3F4_AsVIhIH4xDQKANkgowMSrQKWlIKGgaBgYAoaBA20d9V26ohhohaF9klFjrg0Nh8MdrJmHLpyZm0sRXTRaJmZKl-KLwp59ILlaRRx5NckPKV9YhXXFR3lwVVkL7zUr8aUxGMFAAIh0gTAAJJJlNG1i6ygGrOSY2mgoWxhWrjAHh5B0syTOgiu93xL0h0hJwoBoMhsMRp4E6OQ2N9R2JvR01PpuGgsebJHN2-aFkiWKlmSPLgR2WK8tydZr
 l0WIciSLYcrBrLBC4WLygWjoDh-fwEqOpATlOwJzj-7bamweqrseG5mtuILWrah7tkop7nh6V4-n695QMGobhpGr4xi8lhWEUKDAAQSbxpoMAwORrhWLGqnaLk4iMRCLBunJNQGBABxHhCpkYAACqQaAENUemQsxBQgMYPD6JJSixmc0zxs5Bj-ig5lKGG-SzOEuyVMMFybLFEWQnA4haMGAAydm3MOkTpfQKhFI5Womma7RwGAwCtB5EnvpWllwCl0SxPlI56lU2B6MQKQECA3wEJIVDXGkAgkSyaDEL1ACyjBgAg0RwH1ywDZIAB84WbINmWQiNvX9cAMiyKEa1rpCyAwDCPX6FsojHpCAD012SIAAxaAKfmgD0ZoAZCqAE-6gDzfoANvGAGjKgBccoAi56AGbagCF0YADqaAGFyh3NJIsRApIm1UHNNySAA1AY-gCAgdmtMAwwAPLEFQ5pY0tkj7UNV2SMdp1bfNO0Y_oWOcElEBwlQ13ANdGT6AAoljl1XfUcNaAj62IksUA0_uvzbcwpD0MJBAoFQwgw0oUuSAQKQUAAcjMvyhEL1Nazr-tor8Mwm1dZu64be028edsUJbjsa4s0Drg7sxOyyt2SKDgCmioA8Drg4AnQ6ALJKgBwKoAkOaAFiagCIOoAsvIe-w9PSwA1kbQiSNnAA8MuIEUKshrnmdo2jB3Uxto1UNwXSZ88u0GAgZMwD7xse0oSMd4N5szJXfvHvDO3m2iQ8e2-NcB4A4urfYARsZA2D4OAKs2gAWEYAXJ4e0jE0htN6izdtg2FzM1c10oAdh-H0eAAByyeAAD6gDTmqDgDp3t35TkBniO_GiudoJIQu3AEAlxQGXRGldz4Xx7nXBuaBm7SFkOdMmEtqbmz1hPNGudbqAAbowAqvpzEACFugB8WMAODG4NAA8CoACH_AAbeYAEuiKGADm5GYz9ACQ_x_LyosEZIzgQgpBbdBqnlyDrYAw8rqj0kOoZA
 EBM5iMqtAooMBFi_HENAIEAAxf0jAUYDTkYiAORD0FokAITWgBO0w_gsOWkgABUkg95TSyCYKglxta6wweraByjZALAVuotAwwyrOOEJIW6gBttUALBBgAUuSDpIQAo3KAF35QAmq73zDsncGH9aZQB6j41SSs7Kq0GkzYAgQmgYyMXozhEikYD3JmfKmNd0E-xqYEX2H9FFeMyGo4AmjSDaOPhUiEljvEhLsZNBAjjnHzEaR46B1TdaW2WnU1BLIhmLF8f4wJZ8BleQycCOmOTFYGRVmrdGBhgClMkAAAzRpc05jSBnT2PI8xEIsJHLMydkhmYjnk7PfBpCI-xfK7H8neIKlZbqhQuBsSsUU9DBGCJiSsiVkowDSgQDKjpkropynlepTlCoFGKqVcqUYYwZDgCAZYtxUjAH-VYIEwl9yATjKmGw2gCgGUICgIowUIQEAgF6AoFKWpQF5UoEFwqVLYDFZIAEEBpwzgUvjPQoQyVgkdPywVAV0oypBVi857Y5UKqVdFWY7ZPC2BcmgWEPL2zyWdHjD0UQYhxFFOuUg2k0C6VmC-NUQ5HS3UAMam4dABG-oANqdAB90YAO38LXsoMCAa1IAiiAEwCDIgAMAmQF1VNkgM3QgUt4UAMBs1ps5SrFN6bWhoAFfwVoxbxB2WzYYKAxgTDJtZV4OI-hjAdVaAWrqMrNVmkldUNEuqCUGGHdKw1lFZwmr0GiNVGoNUCrNPq0dtFx2FB1eaigHqQzJCgGkadgIqJzskL-AksbO0JptQax09qbwZUiPVV1GQtJaB0hcX1Xl_UEkHUKylUqoCkjHZuCdgHqgyqNaevGpqjiLpZX-ldfp0ogY3WBrd6KZVwF3X4MAB6j2Omg7O2D4x22WvjYm2197OqPqdS--db6PUfq9V-55xFMoSog1OojM7FWkZbO2YMwAKA4oxceAgzU4jLOdP6Yy-gADEEAsRxTKLdQAnKaAA3lQAGUaAH6_cOhDAA5G
 YAJyCYb6rE41FksnyAFCUyp2KTQNM6d0yZmGPy1RRnbJUKAmcbJ2RBJ6cQXnoCZzReJlkV7uj6Ek1h3mMXzlYWfS6j0WQch5CFQwWA2wuKyo6N0fogLDgtlJIqQ29QBy_I80oV47wgA)
   
   谢谢你的回答,我似乎有点明白了
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [echarts] plainheart closed issue #18617: 怎么延长线性回归 线?

Posted by "plainheart (via GitHub)" <gi...@apache.org>.
plainheart closed issue #18617: 怎么延长线性回归  线?
URL: https://github.com/apache/echarts/issues/18617


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [echarts] echarts-bot[bot] commented on issue #18617: 怎么延长线性回归 线?

Posted by "echarts-bot[bot] (via GitHub)" <gi...@apache.org>.
echarts-bot[bot] commented on issue #18617:
URL: https://github.com/apache/echarts/issues/18617#issuecomment-1545200435

   @fff21 It seems you are not using English, I've helped translate the content automatically. To make your issue understood by more people and get helped, we'd like to suggest using English next time. 🤗
   <details><summary><b>TRANSLATED</b></summary><br>
   
   **TITLE**
   
   How to extend the linear regression line?
   
   **BODY**
   
   ### What problem does this feature solve?
   
   ### What problem does this feature solve?
   
   The axis value is large, and when the data is small, it is squeezed in the middle. How can the two ends of the line touch the bottom (as shown in the figure)
   Hope to get a solution(ノ゚▽゚)ノ
   `getEchart() {
         this.$echarts.registerTransform(ecStat.transform.regression);
   
         let myChart4 = this.$echarts.init(document.getElementById("charts"));
   
         let mp = {
           symbol: 'arrow', symbolSize: 5, symbolRotate: -90,
           label: {show: true, position: 'left', formatter: '{c}'},
           data: [
             {yAxis: 5, xAxis: 10, value: '5.00'},
             {yAxis: 40, xAxis: 10, value: '40.00'}
           ]
         }
   
         let option = {
           dataset: [
             {
               source: [
                 [90, 12.988],
                 [109,30],
                 [283, 42.5],
                 [327, 56.0],
                 [452, 74.4],
                 [440, 88.2],
               ],
             },
             {
               transform: {
                 type: 'ecStat: regression'
               }
             },
             {
               id: 2,
               source: [
                 [173, 21],
                 [221,34],
                 [456,41],
                 [466,62],
                 [744,89]
               ]
             },
             {
               fromDatasetId: 2,
               transform: {
                 type: 'ecStat: regression'
               }
             },
             {
               id: 3,
               source: [
                 [344,21],
                 [821,36],
                 [856,51],
                 [879,67],
                 [958,81]
               ]
             },
             {
               fromDatasetId: 3,
               transform: {
                 type: 'ecStat: regression'
               }
             }
           ],
   
           legend: {
             bottom: 5
           },
           tooltip: {
             trigger: 'axis',
             axisPointer: {
               type: 'cross'
             }
           },
           xAxis: {
             type: 'log',
             min: 10, max: 1000000,
             splitLine: {
               lineStyle: {
                 type: 'dashed'
               }
             },
             axisLabel: {
               formatter: function (value) {
                 if (Math. abs(value) > 1000) {
                   if (value == 0) {
                     return "0";
                     // Check if it has been converted to scientific notation
                   } else if ((value + ''). indexOf('e') > 0) {
                     return (value + '').replace(/e/, "E");
                   } else {
                     var res = value. toString();
                     var numN1 = 0;
                     var numN2 = 1;
                     var num1 = 0;
                     var num2 = 0;
                     var t1 = 1;
                     // How many digits are counted before and after the decimal point
                     for (var k = 0; k < res. length; k++) {
                       if (res[k] == ".")
                         t1 = 0;
                       if (t1)
                         num1++;
                       else
                         num2++;
                     }
                     // Both are converted to scientific notation
                     if (Math. abs(value) < 1) {
                       // Start counting with one decimal place
                       for (var i = 2; i < res. length; i++) {
                         if (res[i] == "0") {
                           numN2++; //Record the negative index value of 10 (the default value starts from 1)
                         } else if (res[i] == ".")
                           continue;
                         else
                           break;
                       }
                       let v = parseFloat(value);
                       // 10 to the numN2 power
                       v = v * Math.pow(10, numN2);
                       v = v.toFixed(1); // rounded to keep only one decimal place
                       return v.toString() + "e-" + numN2;
                     } else if (num1 > 1) {
                       numN1 = num1 - 1;
                       let v = parseFloat(value);
                       v = v / Math.pow(10, numN1);
                       if (num2 > 1) {
                         v = v.toFixed(1);
                       }
                       return v.toString() + "e" + `+`+ numN1;
                     }
                   }
                 } else {
                   return value;
                 }
               }
             }
           },
           yAxis: {
             type: 'log',
             min: 1.0, max: 99.90,
             splitLine: {
               lineStyle: {
                 type: 'dashed'
               }
             }
           },
           series: [
             {
               symbol: 'triangle',
               name: 'scatter',
               type: 'scatter',
               datasetIndex: 0
             },
             {
               name: 'line',
               type: 'line',
               datasetIndex: 1,
               symbol: 'circle',
               encode: { label: 2, tooltip: 1 }
             },
             {
               // Scatter shape setting symbol: 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
               symbol:'roundRect',
               name: 'scatter2',
               type: 'scatter',
               datasetIndex: 2
             },
             {
               name: 'line2',
               type: 'line',
               smooth: true,
               datasetIndex: 3,
               symbol: 'circle',
               encode: { label: 2, tooltip: 1 }
             },
             {
               name: 'scatter3',
               type: 'scatter',
               datasetIndex: 4
             },
             {
               name: 'line3',
               type: 'line',
               smooth: true,
               datasetIndex: 5,
               symbol: 'circle',
               encode: { label: 2, tooltip: 1 }
             },
             {
               type: 'scatter',
               datasetIndex: 6,
               itemStyle: {
                 normal: {
                   color: '#a80000', //Change the color of the polyline point
                   lineStyle: {
                     color: '#a80000' //Change the polyline color
                   }
                 }
               },
               markPoint: mp,
               markLine: {
                 symbol: ['none','none'],
                 label: {position:'start'},
                 data: [{yAxis: 63.21}]
               }
             },
           ]
         };
         // Display the chart using the specified configuration items and data.
         myChart4.setOption(option);
       },`
   
   ### What does the proposed API look like?
   
   ![Snipaste_2023-05-12_13-34-26](https://github.com/apache/echarts/assets/130143783/cc6e026c-9226-4ab0-b9b1-77180e45a52f)
   This is the desired effect
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [echarts] helgasoft commented on issue #18617: 怎么延长线性回归 线?

Posted by "helgasoft (via GitHub)" <gi...@apache.org>.
helgasoft commented on issue #18617:
URL: https://github.com/apache/echarts/issues/18617#issuecomment-1545276022

   @fff21, this is likely related to your previous question #18592.
   I do not think the regression line could be extended, it is obviously scaled on both axes to the min/max scatter values. 
   And that's fine in the general case. But it seems [your chart](https://www.nationrel.com/upload/images/20210730/202107301052.png) is very specialized, with unusual requirements.
   Customizing general charts like scatter and line has its limits.
   Another option is to calculate and draw the regression line(s) yourself, without using _ecStat_.
   
   BTW [data transforms](https://apache.github.io/echarts-handbook/en/concepts/data-transform/#use-external-transforms) have different methods of regression, _linear_ is just one of them, [Demo Code](https://echarts.apache.org/examples/en/editor.html?c=line-simple&code=KYYwFghgTgLgzgOisA5gSzjYUAqUIB2cAZgPZQC2AFKAMowQwIz5FmVKrJxxqkEBKANwAoCgAcABAF5JAbxGTJcAJ4UARqQA2ALkkByaFFIB3fQBpFytZq200AL2B6ArJaWqN2gEqkGWPQBaAE4ABndJLQh1YF15ZTBTPRYAV2BzSXFSXhg-Aj19LWBiGAtJdgpGLCgCuRAAX31JeoiAE0YIPQBtKyU5SRUAQQAPDFcM4ZGxyQBGcMkANwgtNIKXBFDQppbe-KHRuD0AFnnJg705jKWV5wMTja3mqwBdEXrRUnFc_hl5K3aGHBgDBursFEoIcpSCkoCBbj1IZCumEMjMAEwIYIADixzwiiMkXTmwQyAGZQnjdki0VjSRkjhiXJSCUouqS0QB2DIuABsG2ZLK6RxcaIyHKOCCOAoJQpOGRxCDRrwJyohO0h4MRLEIJHIFD0moJMBU4lu-jo_h0yBQ3F4_AsVIhIH4xDQKANkgowMSrQKWlIKGgaBgYAoaBA20d9V26ohhohaF9klFjrg0Nh8MdrJmHLpyZm0sRXTRaJmZKl-KLwp59ILlaRRx5NckPKV9YhXXFR3lwVVkL7zUr8aUxGMFAAIh0gTAAJJJlNG1i6ygGrOSY2mgoWxhWrjAHh5B0syTOgiu93xL0h0hJwoBoMhsMRp4E6OQ2N9R2JvR01PpuGgsebJHN2-aFkiWKlmSPLgR2WK8tydZrl0W
 IciSLYcrBrLBC4WLygWjoDh-fwEqOpATlOwJzj-7bamweqrseG5mtuILWrah7tkop7nh6V4-n695QMGobhpGr4xi8lhWEUKDAAQSbxpoMAwORrhWLGqnaLk4iMRCLBunJNQGBABxHhCpkYAACqQaAENUemQsxBQgMYPD6JJSixmc0zxs5Bj-ig5lKGG-SzOEuyVMMFybLFEWQnA4haMGAAydm3MOkTpfQKhFI5Womma7RwGAwCtB5EnvpWllwCl0SxPlI56lU2B6MQKQECA3wEJIVDXGkAgkSyaDEL1ACyjBgAg0RwH1ywDZIAB84WbINmWQiNvX9cAMiyKEa1rpCyAwDCPX6FsojHpCAD012SIAAxaAKfmgD0ZoAZCqAE-6gDzfoANvGAGjKgBccoAi56AGbagCF0YADqaAGFyh3NJIsRApIm1UHNNySAA1AY-gCAgdmtMAwwAPLEFQ5pY0tkj7UNV2SMdp1bfNO0Y_oWOcElEBwlQ13ANdGT6AAoljl1XfUcNaAj62IksUA0_uvzbcwpD0MJBAoFQwgw0oUuSAQKQUAAcjMvyhEL1Nazr-tor8Mwm1dZu64be028edsUJbjsa4s0Drg7sxOyyt2SKDgCmioA8Drg4AnQ6ALJKgBwKoAkOaAFiagCIOoAsvIe-w9PSwA1kbQiSNnAA8MuIEUKshrnmdo2jB3Uxto1UNwXSZ88u0GAgZMwD7xse0oSMd4N5szJXfvHvDO3m2iQ8e2-NcB4A4urfYARsZA2D4OAKs2gAWEYAXJ4e0jE0htN6izdtg2FzM1c10oAdh-H0eAAByyeAAD6gDTmqDgDp3t35TkBniO_GiudoJIQu3AEAlxQGXRGldz4Xx7nXBuaBm7SFkOdMmEtqbmz1hPNGudbqAAbowAqvpzEACFugB8WMAODG4NAA8CoACH_AAbeYAEuiKGADm5GYz9ACQ_x_LyosEZIzgQgpBbdBqnlyDrYAw8rqj0kOoZAEBM
 5iMqtAooMBFi_HENAIEAAxf0jAUYDTkYiAORD0FokAITWgBO0w_gsOWkgABUkg95TSyCYKglxta6wweraByjZALAVuotAwwyrOOEJIW6gBttUALBBgAUuSDpIQAo3KAF35QAmq73zDsncGH9aZQB6j41SSs7Kq0GkzYAgQmgYyMXozhEikYD3JmfKmNd0E-xqYEX2H9FFeMyGo4AmjSDaOPhUiEljvEhLsZNBAjjnHzEaR46B1TdaW2WnU1BLIhmLF8f4wJZ8BleQycCOmOTFYGRVmrdGBhgClMkAAAzRpc05jSBnT2PI8xEIsJHLMydkhmYjnk7PfBpCI-xfK7H8neIKlZbqhQuBsSsUU9DBGCJiSsiVkowDSgQDKjpkropynlepTlCoFGKqVcqUYYwZDgCAZYtxUjAH-VYIEwl9yATjKmGw2gCgGUICgIowUIQEAgF6AoFKWpQF5UoEFwqVLYDFZIAEEBpwzgUvjPQoQyVgkdPywVAV0oypBVi857Y5UKqVdFWY7ZPC2BcmgWEPL2zyWdHjD0UQYhxFFOuUg2k0C6VmC-NUQ5HS3UAMam4dABG-oANqdAB90YAO38LXsoMCAa1IAiiAEwCDIgAMAmQF1VNkgM3QgUt4UAMBs1ps5SrFN6bWhoAFfwVoxbxB2WzYYKAxgTDJtZV4OI-hjAdVaAWrqMrNVmkldUNEuqCUGGHdKw1lFZwmr0GiNVGoNUCrNPq0dtFx2FB1eaigHqQzJCgGkadgIqJzskL-AksbO0JptQax09qbwZUiPVV1GQtJaB0hcX1Xl_UEkHUKylUqoCkjHZuCdgHqgyqNaevGpqjiLpZX-ldfp0ogY3WBrd6KZVwF3X4MAB6j2Omg7O2D4x22WvjYm2197OqPqdS--db6PUfq9V-55xFMoSog1OojM7FWkZbO2YMwAKA4oxceAgzU4jLOdP6Yy-gADEEAsRxTKLdQAnKaAA3lQAGUaAH6_cOhDAA5GYAJ
 yCYb6rE41FksnyAFCUyp2KTQNM6d0yZmGPy1RRnbJUKAmcbJ2RBJ6cQXnoCZzReJlkV7uj6Ek1h3mMXzlYWfS6j0WQch5CFQwWA2wuKyo6N0fogLDgtlJIqQ29QBy_I80oV47wgA)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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