2014-12-21 5 views
6

sagen, dass ich den folgenden CodeRails chartkick: will nur ganzzahlige Werte auf Achsen. Verwenden Sie diskret oder etwas anderes?

<% data = [ 
[1,1],[2,3],[3,5],[4,8],[6,4],[7,2] 
] %> 

<%= line_chart data, {discrete: true, library: {width: 600} }%> 

Mit chartkick haben, ergibt sich das folgende Schaubild

Description

ich die vertikale Achse soll gekennzeichnet werden ganze Zahlen verwendet. (Nicht Dezimalstellen) Ich dachte, dass die discrete Option sollte dies tun, aber für dieses Beispiel alle es taten, war das Format der Elemente ändern auf der horizontalen Achse von Zeit zu Nummer (dh den folgenden Code

<%= line_chart data, {library: {width: 600} }%> 

produziert diese

Yuck

).

Also meine Frage ist: Was genau macht discrete tun, außer Daten ändern, die eigentlich Zahlen zu Zahlen waren. Wie kann ich es verwenden, um die Zahlen auf der vertikalen Achse Ganzzahlen zu machen? (Oder, wenn dies nicht möglich ist, was kann ich verwenden?)

Antwort

4

Die Option discrete gilt nur für die "Hauptachse" und gilt für eine diskrete Achse. Es gibt einen Unterschied zwischen diskreten und kontinuierlichen Achsen, den Sie auflesen sollten.

Und ich lese gerade die Konfigurationsoptionen. Anscheinend können Sie eine Option an jede Achse übergeben. Und die Zecken sind Marker. Sie könnten den minimalen und maximalen Wert für jeden Bereich aus Ihren Daten erhalten und ihn dann mit einem 1-Integer-Intervall verteilen.

So ist die folgende sollte Arbeit für Sie:

data = [[1,1],[2,3],[3,5],[4,8],[6,4],[7,2]] 

x_values = data.map(&:first) 
x_range = (x_values.min)..(x_values.max) 

y_values = data.map(&:last) 
y_range = (y_values.min)..(y_values.max) 

library_options = { 
    width: 600, 
    hAxis: {ticks: x_range.to_a}, 
    vAxis: {ticks: y_range.to_a} 
    # to_a because I don't know if Range is acceptable input 
} 

line_chart(data, {library: library_options}) 

Für weitere Optionen, werfen Sie einen Blick auf Google Chart's configuration options for line charts.

+0

Danke, das hat perfekt funktioniert. Der Link war auch sehr hilfreich. –

Verwandte Themen