Bagaimana cara menambahkan label teks ke sumbu di d3?
Misalnya, saya memiliki grafik garis sederhana dengan sumbu x dan y.
Pada sumbu x saya, saya memiliki tanda centang dari 1 sampai 10. Saya ingin kata "hari" muncul di bawahnya sehingga orang tahu sumbu x menghitung hari.
Demikian pula, pada sumbu y, saya memiliki angka 1-10 sebagai tanda centang, dan saya ingin kata "sandwich yang dimakan" muncul ke samping.
Apakah ada cara sederhana untuk melakukan hal ini?
sumber
.attr("transform", "rotate(-90)")
menyebabkan seluruh sistem koordinat berputar. Jadi, jika Anda memposisikan dengan "x" dan "y", Anda perlu menukar posisi dari yang saya harapkan.Dalam versi D3js baru (versi 3 dan seterusnya), ketika Anda membuat sumbu bagan melalui
d3.svg.axis()
fungsi, Anda memiliki akses ke dua metode yang dipanggiltickValues
dantickFormat
yang ada di dalam fungsi sehingga Anda dapat menentukan nilai mana yang Anda perlukan centangnya dan untuk apa format yang Anda inginkan agar teksnya muncul:sumber
Jika Anda menginginkan label sumbu y di tengah sumbu y seperti yang saya lakukan:
-50
)chartHeight / 2
)Contoh kode:
Ini mencegah perputaran seluruh sistem koordinat seperti yang disebutkan oleh lubar di atas.
sumber
Jika Anda bekerja di d3.v4, seperti yang disarankan, Anda dapat menggunakan contoh ini menawarkan semua yang Anda butuhkan.
Anda mungkin hanya ingin mengganti data sumbu X dengan "hari" Anda, tetapi ingatlah untuk mengurai nilai string dengan benar dan tidak menerapkan rangkaian.
parseTime mungkin juga melakukan trik untuk skala hari dengan format tanggal?
bermain-main dengan css / js global
sumber
D3 menyediakan seperangkat komponen tingkat rendah yang dapat Anda gunakan untuk menyusun bagan. Anda diberi blok penyusun, komponen sumbu, penggabungan data, seleksi, dan SVG. Tugas Anda adalah menyatukannya untuk membentuk bagan!
Jika Anda menginginkan grafik konvensional, yaitu sepasang sumbu, label sumbu, judul grafik dan area plot, mengapa tidak melihat d3fc ? ini adalah satu set sumber terbuka dari komponen D3 yang lebih tinggi. Ini mencakup komponen bagan kartesian yang mungkin Anda butuhkan:
Anda dapat melihat contoh yang lebih lengkap di sini: https://d3fc.io/examples/simple/index.html
sumber
atau
sumber