Незначительно новичок в d3.js, так что может быть что-то очевидное, что мне не хватает. Я пытаюсь передать строковую переменную в функцию (d), чтобы вычислить положение «x» текстовых меток на основе другой функции. У меня есть следующий (соответствующий) код:Передача переменной в функцию d3.js (d)
function display_labels(category){
var categories = vis.selectAll("."+category+"s")
.data(cat_data);
console.log(category); // returns 'year' - correct
categories.enter().append("text")
.attr("class", category+"s")
.attr("x", function(d) {
console.log(category); // returns undefined - incorrect
// more code after this
Как я могу передать строку в функцию, так что он будет работать?
Странно! сложно поверить. вы получаете ошибки? В отладке javascript вы получаете категорию как неопределенную? – Cyril
Это должно работать должным образом. Я предполагаю, что ошибка не вызвана кодом, который вы предоставили. Есть ли другие 'console.log()? В этом случае попробуйте идентифицировать вызов в своем обратном вызове, изменив его на нечто вроде 'console.log (« x »+ category). – altocumulus
@altocumulus Я использовал ваше предложение и обнаружил, что случайно создал цикл, который вызвал функцию снова с неопределенной категорией, спасибо за помощь! – Zephyremily