C3.js excluye columnas de CSV

Estoy creando un gráfico de líneas de varias series con C3.JS cargando los datos de un archivo CSV proporcionado. Puedo trazar la gráfica sin embargo, aún no he encontrado, si es posible trazar solo ciertas columnas del CSV, mi gráfica representa todas las columnas del CSV.

Mi CSV se parece a esto:

Sex,Age,L,M,S,P3,P5,P10,P25,P50,P75,P90,P95,P97 2,0,-1.298749689,34.7115617,0.046905108,31.93019666,32.25089861,32.75948527,33.65186554,34.7115617,35.85124044,36.9534983,37.65137722,38.12110271 2,0.5,-1.440271514,36.03453876,0.042999604,33.38070525,33.68743507,34.17345861,35.02508397,36.03453876,37.11806755,38.16405088,38.82535049,39.27005698 2,1.5,-1.581016348,37.97671987,0.038067862,35.48627093,35.77560367,36.23325692,37.03281566,37.97671987,38.9853304,39.95458524,40.56517149,40.97482424 2,2.5,-1.593136386,39.3801263,0.035079612,36.98550023,37.26521982,37.70685493,38.47603153,39.3801263,40.34145495,41.2606303,41.83732218,42.22321458 

Y yo, que solo traza las líneas para las columnas de percentiles (P * columnas) con la Edad como el eje X, y excluye las columnas de Sexo, L, M y S de ser trazadas.

Actualmente mis gráficas se ven así: introduzca la descripción de la imagen aquí

Una solución es eliminar las columnas del archivo CSV; sin embargo, esto no será posible, ya que necesitaré los otros valores para otros cálculos y deseo mantener todos los datos en un archivo.

Mi código C3.js se parece a esto:

 var chart = c3.generate({ data: { x: 'Age', url: '/data/cdc/cdc_female_hcageinf.csv', type: 'line' }, tooltip: { show: false }, point: { show: false } }); 

No estoy seguro de si hay una configuración o método de c3.js para hacerlo, o será necesario un método javascript.

Inspirado en @Armani, terminé haciendo esto, que es una combinación de usar la función d3.csv con c3, ya que no encontré la forma de hacerlo con la URL de c3.

  1. Primero usé D3 para cargar el archivo CSV en un objeto JSON
  2. Modificar los datos según sea necesario (sin filtrar)
  3. Feed C3 con el objeto json
  4. Use la propiedad “keys” dentro de la llamada c3 para mostrar solo los campos que quiero.
 d3.csv( _dataPath, function ( d ) { var data = d; if ( configdata.axis.x.source_units == "meses" && configdata.axis.x.units == "años" ) { data[ configdata.axis.x.property_key ] = data[ configdata.axis.x.property_key ] / 12; } return data; }, function( error, data ) { if (!error) { var percentiles = []; configdata.percentilesData.forEach( function( p ) { percentiles.push( p.name ); }); var x_axis_label = configdata.axis.x.label + ' (' + configdata.axis.x.units + ')'; var y_axis_label = configdata.axis.y.label + ' (' + configdata.axis.y.units + ')'; var chart = c3.generate({ bindto: '#chart', data: { json: data, type: 'line', keys: { x: configdata.axis.x.property_key, value: percentiles } }, axis: { y: { label: y_axis_label }, x: { label: x_axis_label } }, tooltip: { show: false }, point: { show: false } }); } }); 
  

tienes que agregar un filtro a las columnas / claves de tu archivo

 d3.csv("yourfile.csv", function(csv) { csv = csv.filter(function(key) { return key != "Sex" && key != "L" && key != "M" && key != "S" ; }); });