Вместо того, чтобы менять тики, почему бы не заменить единицы? Сделайте отдельный массив X
значений x, чьи единицы находятся в нм. Таким образом, при построении данных он уже в правильном формате! Просто убедитесь, что вы добавили xlabel
, чтобы указать единицы (которые должны всегда выполняться в любом случае).
from pylab import *
# Generate random test data in your range
N = 200
epsilon = 10**(-9.0)
X = epsilon*(50*random(N) + 1)
Y = random(N)
# X2 now has the "units" of nanometers by scaling X
X2 = (1/epsilon) * X
subplot(121)
scatter(X,Y)
xlim(epsilon,50*epsilon)
xlabel("meters")
subplot(122)
scatter(X2,Y)
xlim(1, 50)
xlabel("nanometers")
show()
[/g1]
Используя таймер, вы можете разбить движение на шаги по линии между старой и новой позициями, например, за 100 шагов 10 мс
var line = new LineString([oldCoordinates, newCoordinates])];
var step = 0;
var key = setInterval( function() {
if (step < 100) {
step++;
marker.setGeometry(new Point(line.getCoordinateAt(step/100)));
} else {
clearInterval(key);
}
}, 10);
Вы также можете использовать что-то на примере анимации полета https://openlayers.org/en/latest/examples/flight-animation.html [111 ]