d3.scaleSequential не является функцией
После замечательного урока Майка Бостока по картографии из командной строки, когда я пытаюсь создать хороплет, я получаю ошибку TypeError, в которой говорится, что d3.scaleSequential
это не функция. Я полагаю, это просто не подвергается? Но я не знаю, как справиться с этим через CLI...?
Отслеживание ошибок:
Ошибка типа: d3.scaleSequential не является функцией на evalmachine.:1:26 на интерфейсе. (/ USR / местные / Библиотека /node_modules/ndjson-кли / ndjson-карта:45:14) в emitOne (events.js:77:13) в Interface.emit (events.js:169:7) в Interface._onLine (readline.js:210:10) на интерфейсе. (Readline.js:340:12) в Array.forEach (родной) в Interface._normalWrite (readline.js:339:11) на ReadStream.ondata (readline.js:86:10) в emitOne (events.js:77:13)
У меня есть все необходимые библиотеки, установленные и обновленные через npm, так что это не проблема. Любые мысли о том, как отлаживать это, были бы очень благодарны.
В настоящее время установлено:
- d3@4.9.1
- d3-geo-projection@2.1.2
- d3-scale@1.0.6
- d3-scale-chromatic@1.1.1
Образец кода
Код скопирован прямо из учебника, и это первый шаг, который не работает..
ndjson-map -r d3 \ '(d.properties.fill = d3.scaleSequential (d3.interpolateViridis).domain ([0, 4000]) (d.properties.density), d)' \ ча-альберс-color.ndjson
1 ответ
Когда вы используете CLI, d3
должен быть доступен для node.js, поэтому вы должны npm install -g d3
(глобальный) или в каталоге, из которого вы запускаете сценарии командной строки, npm install d3
,
ОБНОВЛЕНИЕ: Если вы используете глобальный подход, вам может потребоваться связать пакет ( https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/) или установить NODE_PATH
переменная для доступа к папке, в которой установлены глобальные модули.