#javascript #d3.js #d3plus
#javascript #d3.js #d3plus
Вопрос:
мой код:
function d3_chart() {
// sample data array
// instantiate d3plus
var visualization = d3plus.viz()
.container("#viz") // container DIV to hold the visualization
.data("./extra/acc.csv", {"filetype": "csv"}) // data to use with the visualization
.type("line") // visualization type
.y("x") // key to use for y-axis
.x("timestamp") // key to use for x-axis
.draw() // finally, draw the visualization!
}
мой csv:
timestamp,x,y,z
0,2019-02-28 12:20:19.631,1.072,-0.153,10.113
1,2019-02-28 12:20:19.731,1.072,-0.153,10.419
2,2019-02-28 12:20:19.831,1.072,-0.153,9.96
3,2019-02-28 12:20:19.931,1.072,-0.153,10.113
4,2019-02-28 12:20:20.031,1.072,-0.153,10.113
5,2019-02-28 12:20:20.132,1.225,-0.153,9.96
6,2019-02-28 12:20:20.231,1.225,-0.153,9.96
7,2019-02-28 12:20:20.331,1.225,-0.153,9.96
8,2019-02-28 12:20:20.431,0.919,-0.306,9.5
9,2019-02-28 12:20:20.531,0.919,0.459,9.807
10,2019-02-28 12:20:20.631,1.225,0.153,10.113
11,2019-02-28 12:20:20.731,1.379,-1.992,10.113
12,2019-02-28 12:20:20.831,1.838,-0.306,9.653
13,2019-02-28 12:20:20.931,0.153,0.766,10.113
14,2019-02-28 12:20:21.032,0.459,1.532,10.266
15,2019-02-28 12:20:21.133,1.072,0.0,9.96
Я только что получил сообщение:
Данные недоступны
Что не так? Я не нахожу ни одного примера в Интернете с загрузкой csv через эту библиотеку
Или что-то знаете, как построить график из csv через общий D3 с простым примером?
Комментарии:
1. какая версия d3 использовалась?
2. d3plus своя версия Д3: <script src=» d3plus.org/js/d3.js»></script<>> <script src=» d3plus.org/js/d3plus.js»></script<>>
Ответ №1:
похоже, что d3plus использует версию v3.5.15 из d3.js . Независимо от этого, вам нужно будет сообщить d3plus о том, как загружать данные. Читая документацию API, кажется, вам придется загружать данные с помощью
d3plus.dataLoad(path, [formatter], [key], [callback])
как объяснено здесь .
В качестве альтернативы вы можете использовать d3.js чтобы проанализировать ваш CSV-файл и передать его в качестве данных. Для этого вы можете использовать
d3.csv.parse(string[, accessor])
как указано в d3.js CSV API.
Имейте в виду, что в обоих случаях вам нужно будет отформатировать временные метки в правильном формате времени (для d3.js Time Format API doc), чтобы вы могли использовать временные шкалы. Также, по крайней мере, для d3.js когда данные анализируются из CSV, все значения являются строковыми значениями, и, следовательно, вам нужно будет изменить тип значений с помощью функции преобразования типов. Вы можете прочитать больше об этом в отличном руководстве о том, как читать данные с помощью Learnjsdata (d3.js v3, или d3.js v5)
Существует несколько примеров для d3.js v3 об импорте данных для обработки, что может быть лучшим вариантом в целом. Также учтите, что d3plus не получил коммит github более года, поэтому библиотека может плохо поддерживаться.
Я надеюсь, что это поможет и, по крайней мере, даст вам начало. Если вам нужна дополнительная помощь, пожалуйста, оставьте комментарий ниже.