2012-09-03 12 views
5

Ich muss ein Säulendiagramm mit Highcharts machen, das 1px Abstand zwischen den Spalten und der Y-Achse hat, wie kann ich den 1px Platz, der in meinem gewünschten Diagramm ist, dem Diagramm hinzufügen, das ich gemacht habe: Leider habe ich nicht den Ruf genug Bilder hinzufügen, deshalb habe ich nicht dann schreiben Sie haben)Wie kann ich in Highchart 1px Abstand zwischen den Spalten und der y-Achse haben?

var data = [ 20, 29, 25, 29, 21, 17, 20, 19, 18]; 
createMeasuresGraph(data, "quintals-sugar-graph"); 
function createMeasuresGraph(data, container) { 
    data[0] = { color: '#55B647', y: data[0] }; 
    data[data.length -2 ] = { color: '#F15B49', y: data[data.length -2 ] }; 
    var chart = new Highcharts.Chart({ 
     chart: { 
      marginBottom: 1, 
      marginLeft: 0, 
      marginRight: 0, 
      marginTop: 0, 
      renderTo: container, 
      type: 'column', 
     }, 
     credits: { 
      enabled: false 
     }, 
     legend: { 
      enabled: false 
     }, 
     plotOptions: { 
      column: { 
       pointWidth: 5, 
      }, 
      series: { 
       borderWidth: .1, 

      } 
     }, 
     series: [{ 
      data: data, 
      color: '#95D2F3', 
      shadow: false, 
     }], 
     title: { 
      text: '' 
     }, 
     tooltip: { 
      enabled: false 
     }, 
     xAxis: { 
      labels: { 
       enabled: false 
      }, 
      title: { 
       enabled: false 
      }, 
      lineColor: '#CBCBCB', 
      tickWidth: 0 
     }, 
     yAxis: { 
      endOnTick: false, 
      gridLineWidth: 0, 
      labels: { 
       enabled: false 
      }, 
      startOnTick: false, 
      minPadding: 0.5, 
      title: { 
       text: "" 
      } 
     } 
    }); 
} 

ich auch zu sehen, dass der Raum zwischen ist nicht das gleiche in allen Spalten, vielleicht bin ich mit ein falsch approch, um die Räume zu bekommen, was wäre es am besten?

Antwort

13

Sie möchten einen Abstand von 1 Pixel zwischen den einzelnen Spalten?

würde ich die Spaltenbreite berechnen basierend auf der Größe des Grundstücks/Anzahl der Spalten:

var colWidth = ($('#quintals-sugar-graph').width()/data.length) + 1; 

dann die „border“ auf 1px den Raum zur Verfügung zu stellen:

plotOptions: { 
     column: { 
      pointWidth: colWidth, 
      borderWidth: 1 
     }, 

    }, 

Fiddle here.

enter image description here

+0

Vielen Dank, diese ist genau das, was ich – mkhuete

4

Haben Sie 1px müssen die Breite werden genau richtig? Wenn nicht, lassen Sie die folgenden auch minimalen Abstand zwischen den Spalten und wäre bequemer:

plotOptions: { 
    column: { 
     pointPadding: 0, 
     groupPadding: 0 
    } 
} 
+0

es tun wollte, musste 1px sein, wie es im Design vom Webdesigner gefordert wurde, ich weiß manchmal, dass das Design nicht pixelperfekt gemacht werden kann – mkhuete

2

Sie können einfach tun:

plotOptions: { 
    column: { 
    pointPadding: 0, 
    groupPadding: 0, 
    borderWidth: 1 
    } 
}, 
Verwandte Themen