Google Charts: Daten ohne Date () übergeben?

9

Zusammenfassung

Ich versuche, ein Liniendiagramm in Google Charts mit Datumsangaben als X-Achse zu erstellen. Ich habe das alles sortiert, aber es erfordert die Weitergabe von Daten als Date -Objekte, d. H.% Co_de%. Gibt es eine Möglichkeit, wie ich es als Unix-Timestamp oder vielleicht eine Zeichenfolge übergeben kann?

Weitere Details

Ich habe also eine Menge Daten in PHP, die ich grafisch darstellen möchte. Ich nehme die Daten und ordne sie in einem Array in dem Format an, in dem das richtige JSON-Format angezeigt wird, wenn new Date(2005, 3, 13) ausgeführt wird, pro die Google-Datendokumente :

%Vor%

json_encode()

Also habe ich die JSON-Erstellung heruntergefahren, aber die API möchte, dass Daten als {"cols":[{"id":"date","label":"Date","type":"datetime"},{"id":"odometer","label":"Miles","type":"number"}],"rows":[{"c":[{"v":1331479502},{"v":56872}]},{"c":[{"v":1331375984},{"v":55324}]},{"c":[{"v":1328966460},{"v":54244}]}]} -Objekt und nicht als Zahl (oder String) übergeben werden. Es wirft jetzt einen Fehler aus, aber wenn ich es von Date nach datetime ändere, wird es perfekt grafisch dargestellt, so dass ich weiß, dass mein JSON-Format korrekt ist.

Gibt es etwas, was ich tun kann, damit die API Unix-Zeitstempel akzeptiert, oder vielleicht eine Zeichenfolge?

Als ich dies tippte, erkannte ich, dass ich vielleicht etwas Javascript verwenden konnte, um das JSON-Objekt zu begehen und die Zeitstempel durch number -Objekte zu ersetzen, aber es wäre nett, wenn ich keine Datenmanipulation durchführen müsste über Javascript.

BEARBEITEN

Ich habe einen Teil des Weges dorthin geschafft, indem ich Date auf type gesetzt habe und Daten wie folgt übergebe:

%Vor%

Dadurch wird der number -Wert in der QuickInfo angezeigt (yay!), aber der f -Wert wird weiterhin für die Achsenbeschriftungen verwendet. Hmm.

BEARBEITEN # 2

Es sieht so aus, als könnten Sie DataView verwenden, um a zu transformieren v Zeitstempel in ein Datum, aber ich habe es noch nicht herausgefunden.

    
Viper007Bond 12.03.2012, 09:24
quelle

2 Antworten

9

Am Ende habe ich einfach das JSON-Array durchlaufen und die Zeitstempel durch Date -Objekte ersetzt. Es war einfacher als ich es erwartet hatte:

%Vor%     
Viper007Bond 12.03.2012, 20:13
quelle
0

Ich habe String anstelle des Datumstyps verwendet, wenn das Datum auf der x-Achse angezeigt wird. Dadurch konnte ich die DateTime-Anzeige auf der Serverseite anpassen, indem ich sie als String formatiere, und auch Tricks wie das Erstellen eines Datumsobjekts aus einer Zeichenfolge oder numerische Werte in JavaScript sind nicht erforderlich.

    
Eugeniu Torica 12.03.2012 10:44
quelle