61 lines
3.8 KiB
Markdown
61 lines
3.8 KiB
Markdown
|
---
|
|||
|
title: Us State Map Visualization Using D3js
|
|||
|
localeTitle: Визуализация карты состояний с использованием D3js
|
|||
|
---
|
|||
|
![скриншот 2016-05-19 в 6 29 43](//discourse-user-assets.s3.amazonaws.com/original/2X/a/a4a31935c10185c660c713ba7651a30e0a11f1e8.png)
|
|||
|
|
|||
|
## Объяснение проекта:
|
|||
|
|
|||
|
**У нас есть образцы данных штатов США:** количество серьезных аварий, зарегистрированных для каждого штата в США.
|
|||
|
|
|||
|
_У нас есть эти данные по трем категориям:_ самый низкий показатель за месяц, средний показатель несчастных случаев в год и наибольшее количество сообщений в месяц, как показано в нижеприведенных образцах.
|
|||
|
|
|||
|
Мы хотим нарисовать карту США и визуализировать эти данные таким образом, чтобы при наведении мыши над состоянием она должна показывать эти данные для этого конкретного состояния.
|
|||
|
|
|||
|
## Пример данных:
|
|||
|
|
|||
|
`AZ: 13 41 57`
|
|||
|
|
|||
|
`CA: 41 60 81`
|
|||
|
|
|||
|
`NY: 6 35 54` и так далее.
|
|||
|
|
|||
|
## Советы и ресурсы:
|
|||
|
|
|||
|
### Пошаговые инструкции:
|
|||
|
|
|||
|
* Во-первых, нам нужно будет создать карту США.
|
|||
|
|
|||
|
1. Вы можете создать карту с нуля, используя такие источники, как: [Stately.](https://intridea.github.io/stately/)
|
|||
|
|
|||
|
2. Получите уже созданную карту из [freehtml5maps](http://freehtml5maps.com) или используйте этот [Javascript](http://bl.ocks.org/NPashaP/raw/a74faf20b492ad377312/3513ad985b2fa93ea35f2fc864cb30540c298171/uStates.js)
|
|||
|
|
|||
|
* Добавьте свою карту в основной javascript, используемый для визуализации
|
|||
|
|
|||
|
|
|||
|
Например, `(script src="uStates.js")(/script) (!-- creates uStates. --)`
|
|||
|
|
|||
|
* Создайте тег Div для хранения всплывающей подсказки и создайте SVG, чтобы удерживать карту.
|
|||
|
|
|||
|
Например,
|
|||
|
|
|||
|
`javascript (div id="tooltip")(/div) (svg width="960" height="600" id="statesvg")(/svg)`
|
|||
|
|
|||
|
* Создайте функцию подсказки для создания строки содержимого html в div tooltip.
|
|||
|
|
|||
|
Эта функция всплывающей подсказки вернет таблицу, и эта таблица будет отображаться всякий раз, когда мы наводим указатель мыши на состояние. Таблица должна быть чем-то вроде этого (как показано на первом рисунке): Аризона Низкий 13 Средний 41 Высокий 57
|
|||
|
|
|||
|
* Нарисуйте состояния на id (#statesvg в нашем примере) с помощью функции data и tooltip.
|
|||
|
|
|||
|
Например, `uStates.draw("#statesvg", sampleData, tooltipFunc);`
|
|||
|
|
|||
|
**Конечный результат будет примерно таким: (Наведите указатель мыши на Калифорнию)**
|
|||
|
|
|||
|
![скриншот 2016-05-19 в 6 37 57](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2c17548386b8591d84ac8f2541fecd8d68e7365c.png)
|
|||
|
|
|||
|
## Рекомендации:
|
|||
|
|
|||
|
1. Примеры и документы [**D3.js.**](https://d3js.org)
|
|||
|
2. [**NPashaP GitHub**](https://github.com/NPashaP)
|
|||
|
3. [**величавый**](https://intridea.github.io/stately/)
|
|||
|
4. [**FreeHTML5Maps**](http://freehtml5maps.com)
|