Saya membuat tabel dari data json & d3, seperti yang ditunjukkan di sini: https://jsfiddle.net /rpardee/ku3q6txw/41/

Saya menggunakan mouseenter dengan d3.mouse() untuk mendapatkan koordinat x,y dari pointer mouse tetapi perlu menerjemahkan koordinat yang saya dapatkan kembali dari .mouse() ke lokasi piksel yang dapat saya masukkan ke translate() sehingga dapat tempatkan tooltip dengan benar. Sejauh ini kegagalan saya telah menghasilkan:

    // Move the tooltip over to where the mouse pointer is
    // There has *got* to be a better way of doing this.
    const coords = d3.mouse(this);
    const xpos = table._groups[0][0].clientWidth - coords[0] ;
    const ypos = table._groups[0][0].clientHeight - coords[1] ; ;
    imp_tooltip.style("transform", `translate(${xpos}px, ${ypos}px)`) ;

Yang dekat, tapi tidak cukup dekat.

Saya menduga ada d3.scaleLinear() yang dapat saya atur untuk melakukan terjemahan ini, tetapi saya terhalang mencoba mencari tahu apa yang harus dimasukkan ke dalam metode .domain() & range() pada orang itu.

Adakah yang bisa memberi saya petunjuk?

0
Roy Pardee 29 Maret 2020, 21:09

1 menjawab

Jawaban Terbaik