2016-04-28 12 views
0

Ist es möglich, die Highcharts Box Plot-Diagramm anpassen, um Marker anstelle von Boxen haben. Ich muss etwas schaffen, das eine Mischung aus Milz und Box-Plot ist. Ich habe versucht, mit den Fehlerbalken Beispiel Messing, aber nicht die Spline-Linie erhalten, ohne dabei die Markierungen ausgeblendet werden: http://jsfiddle.net/ryfqwska/ Ich versuche, diese zu erstellen: enter image description hereHighcharts Box Plot-Diagramm Anpassung

$(function() { 
    $('#container').highcharts({ 
     chart: { 
      zoomType: 'xy' 
     }, 
     title: { 
      text: 'Temperature vs Rainfall' 
     }, 
     plotOptions: { 
      series: { 
       lineWidth: 1 
      } 
     }, 
     xAxis: [{ 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }], 
     yAxis: [{ // Primary yAxis 
      labels: { 
       format: '{value} °C', 
       style: { 
        color: Highcharts.getOptions().colors[1] 
       } 
      }, 
      title: { 
       text: 'Temperature', 
       style: { 
        color: Highcharts.getOptions().colors[1] 
       } 
      } 
     }, { // Secondary yAxis 
      title: { 
       text: 'Rainfall', 
       style: { 
        color: Highcharts.getOptions().colors[0] 
       } 
      }, 
      labels: { 
       format: '{value} mm', 
       style: { 
        color: Highcharts.getOptions().colors[0] 
       } 
      }, 
      opposite: true 
     }], 

     tooltip: { 
      shared: true 
     }, 

     series: [{ 
      name: 'Rainfall error', 
      type: 'errorbar', 
      yAxis: 1, 
      data: [[48, 51], [68, 73], [92, 110], [128, 136], [140, 150], [171, 179], [135, 143], [142, 149], [204, 220], [189, 199], [95, 110], [52, 56]], 
      tooltip: { 
       pointFormat: '(error range: {point.low}-{point.high} mm)<br/>' 
      } 
     }, { 
      name: 'Temperature', 
      type: 'spline', 
      data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6], 
      tooltip: { 
       pointFormat: '<span style="font-weight: bold; color: {series.color}">{series.name}</span>: <b>{point.y:.1f}°C</b> ' 
      } 
     }, { 
      name: 'Temperature error', 
      type: 'errorbar', 
      data: [[6, 8], [5.9, 7.6], [9.4, 10.4], [14.1, 15.9], [18.0, 20.1], [21.0, 24.0], [23.2, 25.3], [26.1, 27.8], [23.2, 23.9], [18.0, 21.1], [12.9, 14.0], [7.6, 10.0]], 
      tooltip: { 
       pointFormat: '(error range: {point.low}-{point.high}°C)<br/>' 
      } 
     }] 
    }); 
}); 

Antwort

1

In Ihrer Spline-Serie, die Farbe auf 'weiß' und setze die Füllfarbe des Markers auf etwas anderes. Dadurch wird die Linie ausgeblendet, nur die Markierungen angezeigt und die Legende korrekt aktualisiert.

name: 'Temperature', 
type: 'spline', 
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6], 
color: 'white', /* hides the line */ 
marker: { fillColor: 'red'}, /* reveals the markers only */ 
tooltip: { 
    pointFormat: '<span style="font-weight: bold; color: {series.color}">{series.name}</span>: <b>{point.y:.1f}°C</b> ' 
} 

Siehe auch die Geige an: http://jsfiddle.net/brightmatrix/ryfqwska/1/

Ich hoffe, das hilft!

enter image description here

+1

Danke. Ich habe die Farbe transparent gemacht und das hat den Trick gemacht. – neridaj

+0

Ah, ich habe die transparente Einstellung vergessen! Ich bin froh, dass das für dich geklappt hat, und danke für die Verbesserung. –