nvd3.jsを使用して、私が時間とともに計算した評価を表示する折れ線グラフを作成しています。私は個々のデータポイント(評価)ごとにさらに多くの情報を持っており、グラフ上の各データポイントをその特定のデータポイントに関するより多くの情報を持つユニークなページにリンクさせたいと考えています。例えばグラフ内のすべてのd3.jsデータポイントへのユニークなリンクを追加
:私はグラフ(:1345457533、Y:X -0.0126262626263)上の最初のデータポイント上にカーソルを移動できるようにしたいと思いますし、特定のページ(HTTPに行くためにそれをクリックしてください:// www.example.com/info?id=1)、その評価またはデータポイントに関する詳細情報を提供します。各データポイントには、一意のIDと固有のURLがあり、リンク先を指定します。ここで
は私がグラフを生成するために使用していたコードです:
nv.addGraph(function() {
var chart = nv.models.lineChart();
chart.xAxis
.axisLabel('Time')
.tickFormat(d3.format('r'));
chart.yAxis
.axisLabel('Rating')
.tickFormat(d3.format('.2f'));
d3.select('#chart svg')
.datum(data())
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function data() {
var data = [ { x: 1345457533, y: -0.0126262626263 },
{ x: 1345457409, y: 0.0224089635854 },
{ x: 1345457288, y: 0.0270935960591 },
{ x: 1345457168, y: -0.0378151260504 },
{ x: 1345457046, y: -0.115789473684 } ]
return [
{
values: data,
key: "Sample1",
color: "#232066"
}
];
}
HTML:
<div id="chart">
<svg></svg>
</div>
そして、ここではworking exampleです。ここで
[SVG仕様](http://www.w3.org/TR/SVG/linking.html)では、要素へのリンクの追加方法について説明しています。 jsfiddleの完全な例を教えてください。私はあなたのコードが動作するようにしようとしましたが、私は何かが不足している必要があります。 –
@LarsKotthoffここには[working jsfiddle](http://jsfiddle.net/66hAj/)があります。 –
ありがとうございます。私はそれを見てきましたが、残念ながらnvd3.jsはあなたが望むものを達成するために必要な低レベルのアクセスを提供しません。ポイント要素やポップアップを取得することはできません。基本的に3つの選択肢があります。あなたは、あなたが望むことをするためにnvd3.jsを修正することができます。これはあまりにも難しいはずはありません。あるいは、普通のd3.jsでそれを行うことができます。これにより、すべてのものにアクセスできます。これはあまりにも難しいはずがありません。第3に、nvd3.jsが作業を完了し、必要なものを追加した後、手動で要素を識別することができます。ハッキーと、おそらく難しい、推奨されていません。 –