Что ж, если у вас есть размер базовой линии, например, 100 пикселей, и начальное значение, например, 0 пикселей, вы можете вычислить точный пиксель, в котором нужно нарисовать маркер для точки.
Пример:
Линия представляет целые числа от 10 до 20 и отрисовывается от 50 до 150 пикселей:
x_offset = 50
lower_bound = 10
width = 100 pixels //(150 - 50)
range = 10 //(20 - 10)
pixels_per_step = width/range = 100/10 = 10
Таким образом, каждый целочисленный маркер i будет нарисован в
x = x_offset + pixels_per_step * (i - lower_bound) => (replace constants)
x = 50 + 10 * (i - 10) => (example for i = 15)
x = 50 + 10 * (15 - 10) = 50 + 10 * 5 = 50 + 50 = 100 => draw marker 15 at 100 pixels
Это должно помочь вам начать.Обратите внимание, что вам может потребоваться округление, если pixels_per_step
или i
не является целым числом.