


Cipta visualisasi data yang cantik dalam PHP menggunakan D3.js
Dengan kemunculan era Internet, data telah menjadi bahagian yang sangat diperlukan dalam kehidupan dan kerja kita. Visualisasi data telah menjadi teknik yang sangat popular dalam proses pemprosesan dan menganalisis data. Visualisasi data membolehkan kami memahami data dengan lebih baik, menemui corak dan arah aliran dalam data serta memaparkan hasil analisis data dengan lebih baik kepada orang lain. Dalam artikel ini, kami akan memperkenalkan cara mencipta visualisasi data yang cantik dalam PHP menggunakan D3.js.
1. Apakah itu D3.js
D3.js (Data-Driven Documents) ialah perpustakaan visualisasi data berdasarkan standard Web, yang menggabungkan data dan dokumen melalui pengikatan Data yang fleksibel dan transformasi yang elegan untuk mencipta visualisasi data interaktif. Menggunakan D3.js, anda boleh membuat pelbagai jenis visualisasi data, termasuk carta linear, carta bar, plot serakan, carta pai dan banyak lagi.
2. Cipta histogram ringkas
Pertama, kita perlu memperkenalkan fail perpustakaan D3.js. Anda boleh memuat turun versi terkini dari tapak web rasmi D3.js. Dalam fail HTML anda, gunakan pernyataan berikut untuk mengimport pustaka D3.js:
<script src="https://d3js.org/d3.v5.min.js"></script>
Dalam contoh ini, kami akan mencipta carta bar ringkas yang menunjukkan bandar tertentu dari 2010 hingga 2019 populasi.
Pertama, kita perlu mencipta div untuk memegang carta kita. Tambahkan kod berikut dalam fail HTML:
<div id="chart"></div>
Kemudian, dalam fail JavaScript, kita boleh menentukan beberapa data seperti berikut:
var data = [ { year: 2010, population: 10500000 }, { year: 2011, population: 10800000 }, { year: 2012, population: 11200000 }, { year: 2013, population: 11500000 }, { year: 2014, population: 12000000 }, { year: 2015, population: 12400000 }, { year: 2016, population: 12800000 }, { year: 2017, population: 13200000 }, { year: 2018, population: 13600000 }, { year: 2019, population: 14000000 } ];
Seterusnya, kita boleh menggunakan D3.js untuk mencipta SVG elemen, elemen ini adalah tempat kita akan melukis carta. Tambahkan kod berikut pada fail JavaScript:
var svg = d3.select("#chart") .append("svg") .attr("width", 500) .attr("height", 400);
Kemudian, kita boleh mencipta skala untuk memetakan nilai data kepada nilai piksel sebenar. Tambahkan kod berikut pada fail JavaScript:
var y = d3.scaleLinear() .domain([0, d3.max(data, function(d) { return d.population; })]) .range([400, 0]);
Dalam kod ini, kami menggunakan fungsi d3.scaleLinear() untuk mencipta skala linear. Fungsi domain() digunakan untuk menentukan julat data, dan fungsi julat() digunakan untuk menentukan julat nilai sebenar yang dipetakan.
Seterusnya, kita boleh mencipta paksi dan menambahnya pada elemen SVG. Tambahkan kod berikut pada fail JavaScript:
var yAxis = d3.axisLeft(y); svg.append("g") .attr("transform", "translate(50,0)") .call(yAxis);
Dalam kod ini, kami menggunakan fungsi d3.axisLeft() untuk mencipta paksi koordinat kiri. Kami kemudian menambah paksi ini pada elemen SVG menggunakan fungsi append(). Akhir sekali, gunakan fungsi call() untuk menggunakan paksi yang baru kami buat.
Sekarang, kami bersedia untuk melukis histogram. Tambahkan kod berikut pada fail JavaScript:
svg.selectAll("rect") .data(data) .enter() .append("rect") .attr("x", function(d) { return 50 + (d.year - 2010) * 45; }) .attr("y", function(d){ return y(d.population); }) .attr("width", 40) .attr("height", function(d){ return 400 - y(d.population); }) .attr("fill", "steelblue");
Dalam kod ini, kami menggunakan fungsi selectAll() untuk memilih semua segi empat tepat dalam elemen SVG, dan kemudian gunakan fungsi data() untuk mengikat data pada segi empat tepat . Fungsi enter() memberitahu D3.js perkara yang perlu dilakukan jika terdapat data baharu. Dalam contoh ini, kami merancang 10 bar, jadi kami menggunakan 10 objek data. Kemudian, kami menggunakan fungsi append() untuk menambah elemen segi empat tepat. Seterusnya, gunakan fungsi attr() untuk menetapkan kedudukan, lebar, tinggi dan warna segi empat tepat. Akhir sekali, kami mempunyai carta bar yang bagus yang menunjukkan populasi bandar tertentu dari 2010 hingga 2019.
3. Cipta visualisasi data interaktif
Sekarang, kami telah mencipta histogram ringkas. Walau bagaimanapun, jika anda ingin menjadikan visualisasi data anda lebih menarik, anda perlu menambah beberapa ciri interaktif. Seterusnya, kami akan menunjukkan cara membuat visualisasi data interaktif yang berubah apabila pengguna menggerakkan tetikus pada carta bar.
Pertama, kita perlu mengubah suai elemen SVG yang kita buat sebelum ini. Tambahkan kod berikut pada fail JavaScript:
var svg = d3.select("#chart") .append("svg") .attr("width", 500) .attr("height", 400) .on("mousemove", onMouseMove);
Dalam kod ini, kami menambah acara pada elemen SVG. Apabila tetikus bergerak ke atas elemen SVG, fungsi onMouseMove() akan dicetuskan.
Seterusnya, kita perlu menulis fungsi onMouseMove(). Tambahkan kod berikut pada fail JavaScript:
function onMouseMove() { var mouseX = d3.mouse(this)[0]; var year = Math.round((mouseX - 50) / 45) + 2010; var index = year - 2010; var rect = svg.selectAll("rect")._groups[0][index]; var oldColor = d3.select(rect).attr("fill"); d3.select(rect).attr("fill", "blue"); setTimeout(function(){ d3.select(rect).attr("fill", oldColor); }, 500); }
Dalam kod ini, kami menggunakan fungsi d3.mouse() untuk mendapatkan koordinat tetikus dalam elemen SVG. Kami kemudian mengira tahun berdasarkan kedudukan tetikus untuk mencari objek data yang ingin kami kendalikan. Dengan memilih unsur segi empat tepat yang sepadan dengan data ini, kita boleh menukar warna unsur segi empat tepat kepada biru. Kami menggunakan fungsi setTimeout() untuk menukar warna elemen segi empat tepat kembali kepada warna asalnya selepas 500 milisaat.
Kini, kami telah melengkapkan visualisasi data interaktif. Apabila pengguna menggerakkan tetikus ke atas histogram, histogram akan bertukar menjadi biru dan kemudian kembali kepada warna asalnya. Melalui contoh ini, kita dapat melihat kuasa dan fleksibiliti D3.js.
4. Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan D3.js dalam PHP untuk mencipta visualisasi data yang cantik. Kami menunjukkan cara membuat carta bar ringkas dan menjadikan visualisasi data kami lebih menarik dengan menambahkan ciri interaktif. D3.js menyediakan API dan kefungsian yang kaya yang membolehkan anda membuat pelbagai jenis visualisasi data dengan mudah. Jika anda ingin mengetahui lebih lanjut tentang penggunaan dan teknik D3.js, anda boleh merujuk kepada dokumentasi rasmi D3.js atau beberapa tutorial D3.js yang sangat baik.
Atas ialah kandungan terperinci Cipta visualisasi data yang cantik dalam PHP menggunakan D3.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
