Tengo este script Jscharting que carga datos de un archivo csv. Funciona muy bien, pero desafortunadamente no se carga si hay datos vacíos en la fuente. ¿Cómo agregaría el manejo de datos vacíos en el siguiente script?
JSC.fetch( './js/data.csv' ).then(function(response) { response.text().then(function(t) { var jsonData = JSC.csv2Json(t,{coerce:function(d){ return { Date: d.date, s1: parseFloat(d.s1), s2: parseFloat(d.s2), } }}); var s1Points = JSC.nest() .key('Date') .rollup('s1') .points(jsonData); var s2Points = JSC.nest() .key('Date') .rollup('s2') .points(jsonData); var chart = JSC.chart('chartDiv', { debug: true, type: 'line', legend_visible: false, defaultCultureName: "hu-SK", xAxis: { crosshair_enabled: true, scale: { type: 'time', time: { parser: 'YYYY-MM-DD', } }, formatString: 'd', }, yAxis: { orientation: 'opposite', formatString: 'c' }, defaultSeries: { firstPoint_label_text: '<b>%seriesName</b>', defaultPoint_marker: { type: 'circle', fill: 'white', outline: { width: 2, color: 'currentColor' } } }, series: [ { name: 's1', points: s1Points }, { name: 's2', points: s2Points } ] }); }); });Intenté algo simple como:
s1: (parseFloat(d.s1) || '0'), s2: (parseFloat(d.s2) || '0'),... pero el resultado es bastante ilegible:
En este caso, me gustaría romper la línea continua en lugar del valor cero, si es posible.
Use Javascript regular para filtrar los datos incorrectos.
Para eliminar entradas/filas donde s1 o s2 es nulo o indefinido:
jsonData = jsonData.filter( ({s1, s2}) => s1 != null && s2 != null);