Jak dodać obraz do kontenera SVG za pomocą D3.js.
Stworzyłem przykładową aplikację Asp.Net MVC 4, w której użyłem D3.js do dodania elementu SVG, a następnie wewnątrz SVG dodałem element tekstowy (patrz kod poniżej). To wszystko działa świetnie, dopóki nie spróbuję dodać obrazu do SVG za pomocą lokalnego pliku png. Img jest dodawany do DOM, ale nie jest wyświetlany na stronie. Jakieś pomysły, co tu robię źle i jak to naprawić?
@{
ViewBag.Title = "Home Page";
}<script src="~/Scripts/d3.v3.js"></script>
<script type="text/javascript">
var svg = d3.select("body")
.append("svg")
.attr("width", 200)
.attr("height", 100)
.style("border", "1px solid black"); var text = svg.selectAll("text")
.data([0])
.enter()
.append("text")
.text("Testing")
.attr("x", "40")
.attr("y", "60"); var imgs = svg.selectAll("img").data([0]);
imgs.enter()
.append("img")
.attr("xlink:href", "@Url.Content("~/Content/images/icons/refresh.png")")
.attr("x", "60")
.attr("y", "60")
.attr("width", "20")
.attr("height", "20");</script>
@Richard Marr-Below to próba zrobienia tego samego w prostym HTML, co daje taki sam wynik. Nie mam pewności co do mojego kodu, aby w ten sposób pobrać plik refresh.png z dysku lokalnego.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="[url=http://d3js.org/d3.v2.js"></script>]http://d3js.org/d3.v2.js"></script>[/url] </head>
<body>
<script type="text/javascript">
var svg = d3.select("body")
.append("svg")
.attr("width", 200)
.attr("height", 100)
.style("border", "1px solid black"); var text = svg.selectAll("text")
.data([0])
.enter()
.append("text")
.text("Testing")
.attr("x", "40")
.attr("y", "60"); var imgs = svg.selectAll("img").data([0]);
imgs.enter()
.append("svg:img")
.attr("xlink:href", "file:///D:/d3js_projects/refresh.png")
.attr("x", "60")
.attr("y", "60")
.attr("width", "20")
.attr("height", "20"); </script>
</body>
</html>
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Spróbuj zmienić swój ostatni blok za pomocą:
Anonimowy użytkownik
Potwierdzenie od:
fiddle
https://jsfiddle.net/duhaime/q51ok9jc/
):
index.html:
timeline.css:
timeline.js:
Anonimowy użytkownik
Potwierdzenie od:
data.csv
wprowadź opis obrazu tutaj
https://i.stack.imgur.com/15vb8.png
Anonimowy użytkownik
Potwierdzenie od: