Mam zewnętrznego pliku csv z danymi w kolumnach tak:.Jak uzyskać maksymalną wartość z tablicy obiektów do wykorzystania w d3.scale.linear() domenę()
name, field_goal_attempts, field_goal_makes
próbuję używać skali liniowej, ale napotykam na trudności w uzyskaniu maksymalnej wartości dla mojej domeny.
var yScale = d3.scale.linear()
.domain(0, d3.max(...
Jestem zdezorientowany:
1) Czy należy umieścić funkcję yScale zewnątrz lub wewnątrz funkcji
d3.csv("filename.csv", function(data) {
zwrotnego; i
2) Jak uzyskać maksymalną wartość pozycji w kolumnie field_goal_attempts, aby następnie wprowadzić ją do funkcji yScale.
Oto mój kod w chwili obecnej:
var yScale = d3.scale.linear()
.domain([0, 4000]) //d3.max(data, function(d) {return d })])
.range([0, 500]);
d3.csv("test.csv", function (data) {
svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("fill", "blue")
.attr("x", magic_number) // I'm not concerned about the magic numbers at this point :)
.attr("y", 0)
.attr("width", another_magic_number)
.attr("height", function (d) {
return d.field_goal_attempts
})
.attr("id", function (d, i) {
return i
});
});
Dzięki za pomoc. To jest moje pierwsze pytanie i jestem wdzięczny za pomoc i przyjazny sposób, w jaki została ona dostarczona. Przyjąłem twoją odpowiedź na temat Christophera Chiche'a, ponieważ czułam "więcej d3", nie wymagając pętli. Zaimplementowałem twoje drugie rozwiązanie, ale musiałem wprowadzić dwie zmiany, aby to działało, czyli używając znaku "+" przed d.field_goal_attempts, tak aby max zwrócił 2000, a nie 600, i zawrzeć wartości w domenie() w nawiasach kwadratowych. Jestem nowy, więc nie chcę zmieniać twojego kodu na wypadek, gdybym się mylił, ale pomyślałem, że dobrze by było ci powiedzieć :). Dzięki jeszcze raz! – Emil
Tak, będziesz potrzebował znaku "+" przed argumentem field_goal_attempts, jeśli wartość jest zapisana jako ciąg znaków. I masz całkowitą rację co do argumentu, że domena jest tablicą! Wprowadzę zmiany. Cieszę się, że mogłem pomóc! – Superboggly
Wow nie dodając, że + na początku dawało mi tak wiele problemów, jesteś zbawcą życia @Superboggly! –