Dojo Logarithmische Achsenskalierung
-
20-09-2019 - |
Frage
Ich habe Charting das Dojo wurde mit einem Spalten-Diagramm zu erstellen. Ich bin von ihm sehr beeindruckt so weit, aber haben beschlossen, ich eine logarithmische y-Achse müssen. Sieht nicht wie dies bisher unterstützt, obwohl ich habe eine Blogeintrag was bedeutet es zu einem bestimmten Zeitpunkt geplant war.
Wer weiß, es ist möglich, im Moment? Wenn nicht, dann bin ich froh, zu versuchen, die Erweiterung selbst das Schreiben so, wenn jemand ein paar Tipps, wo man anfangen muss, würden sie dankbar empfangen werden. Ich vermute, es ist bei einer neuen Staffelart Umsetzung, obwohl ich nicht viel Zeit Graben durch die Quelle noch verbracht haben.
Danke, Martin.
Lösung
dojox.gfx immer noch nicht die logarithmische Achse noch.
Update: Eine Möglichkeit, es zu tun ist, Daten entlang der logarithmischen Achse neu zuzuordnen, und verwenden Sie die Linearachse mit benutzerdefinierten Etikett. Zum Beispiel:
// we will transform our 'x' to a decadic logarithmic scale
var LOG10 = Math.log(10);
var data = [...]; // my data of {x, y}
var transformedData = dojo.map(data, function(value){
return {
x: Math.log(value.x) / LOG10,
y: value.y // 'y' is unchanged
};
});
// ...
// add the axis and the data
chart.addAxis("x", {
natural: true,
includeZero: true,
// our logarithmic labels
labels: [
{value: 0, text: "1"},
{value: 1, text: "10"},
{value: 2, text: "100"},
{value: 3, text: "1000"},
{value: 4, text: "10^4"},
{value: 5, text: "10^5"},
{value: 6, text: "10^6"},
{value: 7, text: "10^7"},
{value: 8, text: "10^8"},
{value: 9, text: "10^9"}
]
});
chart.addSeries("my data", transformedData);
// ...
So etwas wird es tun. Die andere Möglichkeit ist die Verwendung Markierungsfunktion „logarithmische“ Etiketten automatisch zu erzeugen.