Как добавить изображение внутри гистограммы nvd3?

0

Я реализовал диаграмму d3 в моем проекте. Однако теперь мне нужно добавить небольшое изображение над каждым баром, и, щелкнув по изображению, мне нужно перенаправить на новую страницу, чтобы показать дополнительную информацию. Как я могу это достичь?
заранее спасибо

Теги:
d3.js
nvd3.js

1 ответ

0
Лучший ответ

Для этого вам нужно будет выбрать элементы, содержащие бары, и добавить к ним изображения. Элементы изображения будут находиться внутри элементов привязки, которые задают целевые объекты ссылки. Код будет выглядеть примерно так.

svg.selectAll(".nv-bar")
   .append("a")
   .attr("xlink:href", newPage)
   .append("image")
   .attr("xlink:href", imageURL);

Обратите внимание, что вам нужно будет отрегулировать положение изображения, которое должно появиться над панелью, то есть что-то вроде .attr("transform", "translate(0,-20)") - точные значения будут зависеть от размера ваше изображение.

  • 0
    Привет, я попытался svg.selectAll («. Nv-bar»), он ответил [TypeError: Невозможно прочитать свойство '1' из неопределенного] Однако записал d3.selectAll (“. Nv-bar”), возвращающий массив. Я попробовал код, который вы дали, но все еще не работал. Я загрузил свои коды в bitbucket.org/FaysalAhmed/nvd3_issue/src/… Надеюсь, это поможет понять проблему, с которой я столкнулся.
  • 0
    Не могли бы вы объяснить более подробно, пожалуйста? Код в ответе - всего лишь руководство - вы не можете просто скопировать и вставить его. Как это не работает?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню