Mi piacerebbe rendere l'HTML sull'asse x del mio grafico D3. Fondamentalmente, voglio che ogni etichetta sull'asse sia un collegamento ipertestuale a un'altra colonna dai dati.Rendering HTML su tacche X-Axis
Ho provato
x.domain(data.map(function(d) { return "<a href=\"" + d.SiteUrl + "\">" + d.Name + "</a>"; }));
ma non sta funzionando, a tutti. Invece di ottenere un collegamento ipertestuale ottengo il valore di testo attuale:
<a href="http://example.com">Something</a>
Ho anche provato ad aggiungere
.tickFormat(function(d) { return "<a href=\"" + d.SiteUrl + "\">" + d.Name + "</a>"; })
su l'asse x, oltre ad alterare il .attr("x", ...)
a
.attr("x", function(d) { return "<a href=\"" + d.SiteUrl + "\">" + x(d.Name) + "</a>"; })
sul grafico stesso.
Mi manca qualcosa?
non è possibile aggiungere html SVG, a meno che non si utilizza oggetto estraneo che non è ampiamente utilizzato. Suggerirei di ottenere le posizioni di ogni tick e di aggiungere html a quella posizione al genitore dello svg – thatOneGuy
Suppongo di non poter visualizzare alcun carattere di escape HTML anche in SVG, quindi? (Un altro problema che sto avendo, uno dei valori 'Name' ha' & 'in esso.) –
no no può fare. Guarda questo esempio: http://stackoverflow.com/questions/7458546/html-in-svg-in-html utilizza oggetti estranei – thatOneGuy