我正在寻找一个具有对数刻度的示例,我在这里找到了一些东西:
http://blog.dooapp.com/javafx-chart-api-and-logarithmic-scale-tag-ja
和这里:
https://forums.oracle.com/forums/thread.jspa?threadID=2420118&stqc=true
但它是用 JavaScript 编写的:有没有人这么好心地在 JavaFX 2.x 中重写这两种方法?
var logUpperBound: Number = bind Math.log10(upperBound);
var logLowerBound: Number = bind Math.log10(lowerBound);
override public function getDisplayPosition(arg0: Object): Number {
def delta = logUpperBound - logLowerBound;
def deltaV = Math.log10((arg0 as Number)) - logLowerBound;
if (orientationVertical) {
return (1 -((deltaV) / delta)) * height;
} else {
return ((deltaV) / delta) * width;
}
}
override protected function updateTickMarks(): Void {
if (tickMarks.size() == 0) {
for (i in [0..Math.log10(upperBound)-1], j in [1..9]) {
var v = j * Math.pow(10, i);
insert CustomTickMark {
customLabel: "{%6.0f v}"
customPosition: getDisplayPosition(v)
customValue: v
} into tickMarks;
}
}
}
我不能使用这些方法,因为我不懂 JavaScript。