visakadev commented on PR #19602: URL: https://github.com/apache/echarts/pull/19602#issuecomment-2104475038
> > addressed areas stacking when connectNulls is enabled > > I think _connectNulls_ should not be enabled in stacked area charts since it makes ECharts display fake totals. > > Here are the two methods of data preprocessing - approximate or remove missing values, [Demo Code](https://echarts.apache.org/examples/en/editor.html?c=line-simple&code=G4QwTgBAHgglCWBnAIiALiCBeCBtAugNwBQokAJuiAIzZ5GngSUYBMdBJZzVAzBw24sQAFgFcmwgKzjGFKgDZZAMwD2kABTd4dAAyEIOgDwRq-wwGoLASggBvYhGhwkqDADoADgFdEACw0AckBvH0A7t0CIC0NrEidhai9fAI0AWgBZdD93MBAAO3JVAFsNWxSIXXdWa3c0VQAxeCgAU3INXmsYxx42RP8NDQy0LJz8opLI8vd2mvrGlraO2O6QXl7kweG8guLbKIqqmYbm1vbOuKoRNf70zOytsdLJg9qj-dOl6SvUjbvRnYgyvtqi85idFl1hAovj8RttxntKsDZscFp0AL7EAD0mIgiCaaAghSQiHguQA5hBQAAbbxNRDEeK4KT4bCBFKBAxOBlUVhMllYNkc7kYXh81nskjCERigUS4UgKQywWSxRKuWYgBUWJxYCahVUwCahOJpIp1Np9Pi7kQnip8AAxk0NFIADTUTrCVjW20Op2u90qkXeu2O51uj0XYO-sMB-VSKOh_0RjBQm0hv3hkiwBAoKgJjOxjWY7UQdQQECeTxgVQIQroI1ExAk8mUkA0uny2g4K11zwaABy3kKACMmmBkyB2N2ee5ewOh6Px4GVnRhKs54OR2OJ2JpxhLhuF9vlzI9wrZxX51ul_KlGeoYfr51bzKIJvF_0NJDcCIWVFvwo-C2DizzIm84LSK-75jp-kG_hMkGAcBECga8YI7lBR5gLBFw_n-yzSkhEAgUiaGosuorMnQ0HYf0a54QhfC4ERJGHKC5HyryVE4DROFsAx_48sxQHEShpHse8naYdef E0AJyzUMJyGoRJ4JyIYaB6gAymgACeVJGjgdgQLk6h1lSABc9hdHauRNDp-lNFZxkAO7wOQQxWewaIul04BNCADkGc5aIQBiaIkOpqieGg8CqLkdAOE4Blkk0-TOQZyhoFZgQKLoACkgQ-RAsVoMF9iaVA2UQIEFZVjW8B1ppEBqJAYRSEVvlOLUqhUsONbOV0TjKAFaDeLqg1OFNhIgGSDoACq6Z4TnWdN016ctVm4IEtlNIELo1cO4D7TViAYPaADWJ2BLFBnkIE-BDVNGLTS9YVdSVqi9bFniTVNaBgPAZKpWAOUgDm-1PZ4qgkrF8VWco3i5PacMJRo0OkmgthJWtupjWACW4BjuRoLguj4AdgRmIVDCvR9Tjg0gAAKqiY2Of3rUtK07aSe1PW9PldNmSAc8sVnC7mGD0xA_VI5QYC6QA4hWCNtni0tpvAaAwLqICi04_iqC5VkA7S_NdILTi6S4iDOU4lvLAAWl9hRbcZG3c6SJLkHtYUQBTXR4oDdJbU9OPTbkICFNzu2Q2tJVczlsfSwb50XWDVJUnHa2ILpI69Vp8AAF4rWYKdiwp5da9penldXhRBU05eIPqqieSVYC0uXjv2vFdko4Ome2x3Zt02HT1OJH0dJ7zrDZ5zm01cnE-4mnGdZ83ef9VShcl1ZZcr8IVmelXmkN7XK31435fYr3uT92gg9UsPptNyvLdfe3r_89L4dTdiU9uYWDvg_J-ttX7z3-onJevNIGpxAJddecDcRbwLsXUuuhy5H2WLwU-NdHJWSvhfcuVIQCjksvYXEfgjYm07kaB201b59yaAPbwQ9aFd3fq3L-dCf7j3jgAqO3MUggJYY_Nhz8LLKDVntcuHsZ52WQWdBB6captg3u_VBO90H70wYfKgx8Lh4PPgQjS-CDIkLIU0ChxlDbGxHvQ8uojWHsJajI5u3C_AcKaHw6af8nCCOnjVERzCXGSIgXI6BPNFHNzXmozOSitG7wwVggx yxXQryIaYrJFiV6kPIXbOx3j3oryYffMRYDvEeM_l4hxvipr-OIpiQBOVgGhPEew6Rz9ZEr3kTAmJ784m1QSZvfO2i96mD0fHbBkJjGN0IWfa-eSrE2KoTQhxJT47OI6ZItx3Tqlt1qd_V6XRHoRSAA) The developer would choose which one is more appropriate, or a combination of the two. > >   ### approximate solution fixed my problem: 💯 The data preprocessing - **approximate solution fixed** my problem: In my case, when rendering the area range (minimum value, maximum value), and latest, I used the solution shown in the code before and applied a function to approximate the values. Before: 👎  **After approximate null values** 👍  I added a custom tooltip to render the original value instead of the approximate value.   <img width="921" alt="image" src="https://github.com/apache/echarts/assets/167757357/baf21e8b-2e81-4756-8a02-bacbea4dc7c8"> `function replaceNullsWithApproximate(data) { let startIndex = null; let approximateValue = null; for (let i = 0; i < data.length; i++) { if (data[i] !== null && !isNaN(parseFloat(data[i]))) { const value = parseFloat(data[i]); if (startIndex !== null && !isNaN(approximateValue)) { const endValue = value; const slope = (endValue - approximateValue) / (i - startIndex); for (let j = startIndex + 1; j < i; j++) { const approximate = approximateValue + slope * (j - startIndex); data[j] = Number(approximate.toFixed(3)); } } startIndex = i; approximateValue = value; } } return data; }` -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
