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 переменная для доступа к папке, в которой установлены глобальные модули.

Другие вопросы по тегам