D3: Что делает шкала при прохождении оси?

В d3, если вы хотите создать ось, вы можете сделать что-то вроде этого:

var xAxis = d3.svg.axis()
.scale(x)

где x — масштабная функция. Я понимаю, что домен x определяет начальное и конечное значения для тиков. У меня возникли проблемы с пониманием того, как диапазон x изменяет результирующую ось. На что указывает домен в контексте оси.


person allen kim    schedule 06.06.2014    source источник
comment
Диапазон определяет длину оси и домен, тики и их значения.   -  person Lars Kotthoff    schedule 07.06.2014
comment
@LarsKotthoff Что вы имеете в виду под длиной оси? Я попытался настроить первое значение диапазона, и похоже, что оно перемещает начальную позицию, а второе значение диапазона перемещает конечную позицию, но я не уверен, что эти значения должны представлять.   -  person allen kim    schedule 07.06.2014
comment
Значения - пиксели. Разница между началом и концом диапазона равна длине в пикселях.   -  person Lars Kotthoff    schedule 07.06.2014


Ответы (1)


Подумайте, что нужно сделать, чтобы создать визуальное представление любого набора данных. Вы должны преобразовать каждую точку данных (например, 1 миллион долларов) в точку на экране. Если ваши данные имеют минимальное значение 0 долларов США и максимальное значение 1000000 долларов США, у вас есть домен от 0 до 1000000. Теперь, чтобы представить ваши данные на экране компьютера, вы должны преобразовать каждую точку данных (например, 25 долларов США) в количество пикселей. Вы можете попробовать простое линейное преобразование 1 к 1 (25 долларов преобразуются в 25 пикселей на экране), и в этом случае ваш диапазон будет таким же, как ваш домен = от 0 до 1000000. Но для этого потребуется чертовски большой экран. Скорее всего, у нас есть представление о том, насколько большим мы хотим, чтобы изображение отображалось на экране, поэтому мы соответствующим образом устанавливаем наш диапазон (например, от 0 до 600).

Функция шкалы d3 преобразует каждую точку данных в вашем наборе данных в соответствующее значение в вашем диапазоне. Это позволяет представить его на экране. Предыдущий пример представляет собой простое преобразование, поэтому функция d3.scale() мало что для вас делает, но потратьте некоторое время на преобразование точек данных в визуальное представление, и вы быстро обнаружите некоторые ситуации, когда функция масштабирования выполняет большую часть работы. для тебя.

В частном случае оси функция масштабирования делает то же самое. Он выполняет преобразование (в пиксели) для каждой «галочки» и размещает их на экране.

person dave walker    schedule 07.06.2014