2015-05-05 18 views
5

E 'possibile creare un grafico dell'intervallo di area in C3.js simile a quello di Highcharts? Ho allegato uno screenshot e link al campione dal vivo http://www.highcharts.com/demo/arearange-line. enter image description hereC3js Area Range chart

L'idea è di mostrare i dati dell'intervallo, forse i valori alti e bassi storici, e quindi sovrapporre i valori dell'anno corrente con un grafico a linee. Posso fare questo C3?

Grazie in anticipo!

+0

Penso che la risposta a questa domanda al momento sia "no" .. La risposta di seguito funziona solo per un singolo canale di dati. Se vuoi tracciare più canali di dati, questo non funzionerà. – moof2k

risposta

5

Non credo che c'è un'opzione grafico gamma zona, ma si potrebbe essere in grado di fingere in questo modo:

var chart = c3.generate({ 
    data: { 
     columns: [ 
      ['data1', 300, 350, 300, 290, 225, 220], 
      ['data2', 250, 320, 280, 250, 170, 180], 
      ['data3', 230, 300, 240, 200, 150, 150] 
     ], 
     types: { 
      data1: 'area', 
      data2: 'line', 
      data3: 'area' 
     }, 
     colors: { 
      data1: 'rgb(215, 232, 248)', 
      data2: 'rgb(120, 178, 235)', 
      data3: '#ffffff' 
     } 
    }, 
    point: { 
     r: 1 
    } 
}); 

con i CSS:

.c3-area { 
    opacity:1; 
} 

Ecco un violino: http://jsfiddle.net/ot19Lyt8/17/

+0

Ok, l'ho immaginato tanto:/suppongo che l'unica cosa che non è del tutto giusta riguardo alla tua soluzione alternativa è che non puoi avere linee di scala, dato che sarebbero coperte dalla serie "data3". Ma questa è una grande idea, grazie per aver risposto. – Cody

+0

Se sei felice di approfondire il codice D3, puoi portare le linee della griglia in primo piano in questo modo: http://jsfiddle.net/ot19Lyt8/22/ – Sean

+2

Leggermente migliorato per mostrare la bolla sulla linea: http://jsfiddle.net/ot19Lyt8/23/ – Sean