Это вызвано какой-то проблемой функции, где я где-то переопределяю параметр события, правильно? или посторонней полуколонии?TypeError: n не является функцией
Все, кажется, загружается (например, стилизация CSS) на странице, но я получаю эту ошибку. Можете ли вы определить, где моя проблема (есть?)?
p.s. Я просто использую скрипку здесь для удобства использования. Я размещаю свой собственный HTTP-сервер, поэтому я знаю, что CSV загружается правильно.
https://jsfiddle.net/fredbastiat/hyLb2tym/
var margin = {top: 20, right: 20, bottom: 70, left: 40},
width = 600 - margin.left - margin.right,
height = 300 - margin.top - margin.bottom;
var x = d3.scaleLinear().range([0, width]);
var y = d3.scaleLinear().range([height, 0]);
var xAxis = d3.axisBottom()
.scale(x)
.ticks(10);
var yAxis = d3.axisLeft()
.scale(y)
.ticks(10);
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform",
"translate(" + margin.left + "," + margin.top + ")");
d3.csv("Sales Export Friendly 2-14-2017.csv", function(error, sales) {
if (error) throw error;
/*sales.forEach(function(sale) {
sale.BookingID = sale.BookingID;
sale["Total Paid"] = sale["Total Paid"];
});*/
x.domain(sales.map(function(sale) { return sale.BookingID; }));
y.domain([0, d3.max(sales, sales.map(function(sale) { return sale["Total Paid"]; }))]);
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis)
.selectAll("text")
.style("text-anchor", "end")
.attr("dx", "-.8em")
.attr("dy", "-.55em")
.attr("transform", "rotate(-90)");
svg.append("g")
.attr("class", "y axis")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("$ USD");
svg.selectAll("bar")
.sales(sales)
.enter().append("rect")
.style("fill", "steelblue")
.attr("x", function(sale) { return x(sale.BookingID); })
.attr("width", x.rangeBand())
.attr("y", function(sale) { return y(sale["Total Paid"]); })
.attr("height", function(sale) { return height - y(sale["Total Paid"]); });
});
Вы don'nt нужно 'd3.max (sales.map (функция (продажа) {возвращение продажа [ 'Total Paid '];})) ', это может быть просто' d3.max (sales, function (sale) {return sale [' Total Paid '];}) '. –
А, да, хороший звонок, я сегодня немного бегу, думаю, слишком много путешествий на этой неделе. –
Не беспокойтесь, что происходит ... –