Ich verwende GoogleCharts, um ein Liniendiagramm mit dem Typ "datetime" entlang einer Achse zu zeichnen. Ich möchte die Achsenbeschriftungen so formatieren, dass sie Zeiten in einer bestimmten Zeitzone anstelle der Standardzeitzone des Browsers anzeigen.
Aus dem Lesen der Dokumentation gibt es ein DateFormat -Objekt, das mit einem ' timeZone 'Option, und dann mit der entsprechenden DataTable
und Spalte aufgerufen, um alle Zellen in dieser Spalte zu formatieren. Ich habe festgestellt, dass dies zu korrekt formatierten Werten führt, wenn DataTable
als Tabelle gezeichnet wird. Die gleiche Formatierung gilt jedoch nicht für Achsenbeschriftungen in Diagrammen wie LineChart
oder Bar
.
Hier ist mein Code:
%Vor%Hier sind die resultierenden Diagramme:
Beachten Sie, wie die Tabelle korrekt formatierte Zeiten in den relevanten Zellen anzeigt, während die Liniendiagrammachsen die Browserzeit anzeigen (in diesem Fall GMT).
Gibt es eine Möglichkeit, die Zeitzonenformate der Liniendiagramm-Achsenbeschriftungen zu ändern? Gibt es etwas, das mir vielleicht fehlt?
Verwenden Sie die hAxis.ticks
Konfigurationsoption , um die Achsenbeschriftungen anzugeben
sobald die Daten mit DateFormat
Erstellen Sie ein Array mit den anzuzeigenden Labels
Verwenden Sie die Objektnotation, um den Wert ( v:
) und den formatierten Wert ( f:
) für jede Beschriftung anzugeben
Wenn Sie nicht unbedingt die gesamte dataTable
,
formatieren müssen
oder Sie möchten Etiketten verwenden, die nicht in dataTable
,
vorhanden sind
Verwenden Sie die Methode formatValue
für DateFormat
siehe folgendes Arbeits-Snippet ...
Tags und Links javascript timezone google-visualization