Langsung ke konten utama

Membuat Diagram Batang Sederhana pada Laman HTML Menggunakan d3.js

 Pertama, tentukan direktori (folder) di komputer kalian tempat kalian akan mengerjakan praktik ini. Bebas.

Kemudian buatlah sebuah file HTML, nama bebas, tapi saya beri nama generic: index.html.

Saran saya, gunakan editor teks semacam Visual Studio Code, Atom, Sublime Text, atau Notepad++. Boleh juga menggunakan sebuah Web IDE, atau bahkan hanya Notepad bawaan Windows. Saya menggunakan VS Code.

berikut isi file index html:

<!DOCTYPE html>
<html lang="id">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Diagram Batang</title>
</head>

<body>
    <!-- Muat modul d3.js -->
    <script src="https://d3js.org/d3.v6.js"></script>

    <!-- Div di bawah adalah tempat kita meletakkan diagram pada laman -->
    <div id="my_dataviz"></div>

    <script>
    // ...
    </script>
</body>

</html>



dan Silakan copy-paste kode di bawah ini ke dalam tag <script> yang ada teks // ... seperti terlihat di atas tadi.

// set the dimensions and margins of the graph
const margin = {top: 30, right: 30, bottom: 70, left: 60},
    width = 460 - margin.left - margin.right,
    height = 400 - margin.top - margin.bottom;

// append the svg object to the body of the page
const svg = d3.select("#my_dataviz")
  .append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
  .append("g")
    .attr("transform", `translate(${margin.left},${margin.top})`);

// Parse the Data
d3.csv("data.csv").then( function(data) {

// X axis
const x = d3.scaleBand()
  .range([ 0, width ])
  .domain(data.map(d => d.Country))
  .padding(0.2);
svg.append("g")
  .attr("transform", `translate(0, ${height})`)
  .call(d3.axisBottom(x))
  .selectAll("text")
    .attr("transform", "translate(-10,0)rotate(-45)")
    .style("text-anchor", "end");

// Add Y axis
const y = d3.scaleLinear()
  .domain([0, 13000])
  .range([ height, 0]);
svg.append("g")
  .call(d3.axisLeft(y));

// Bars
svg.selectAll("mybar")
  .data(data)
  .join("rect")
    .attr("x", d => x(d.Country))
    .attr("y", d => y(d.Value))
    .attr("width", x.bandwidth())
    .attr("height", d => height - y(d.Value))
    .attr("fill", "#69b3a2")

})


Inilah hasil praktik dengan mengikuti langkah langkah berikut ini:



Komentar

Postingan populer dari blog ini

ITSM

  Proses Manajemen Layanan TI (ITSM) Proses Manajemen Layanan TI yang efisien (ITSM) memiliki efek konstruktif pada fungsi perusahaan TI. Proses ini secara klasik terdiri dari lima tahap efektif yang digunakan tim TI Anda untuk memanfaatkan campuran alur kerja dan praktik terbaik yang terlibat dalam ITSM. 1. Strategi Layanan Tahapan ini merupakan yang terdepan dan membentuk kerangka dasar pembangkitan proses ITSM perusahaan. Ini terdiri dari menyiapkan dan menentukan layanan yang akan diberikan perusahaan. Selanjutnya, ini berkaitan dengan perencanaan strategis proses dan membangun aset yang dibutuhkan. Strategi layanan untuk perusahaan mana pun mencakup elemen yang ditentukan di bawah ini: Manajemen strategi:   Ini membantu dalam mengembangkan strategi untuk layanan TI dengan menilai pasar, penawaran, dan persaingan perusahaan yang bersangkutan. Manajemen portofolio layanan:  Melayani klien dengan menangani katalog layanan dan memastikannya memiliki serangkaian layanan T...

Tren teknologi yang berkembang di masa depan

Tren teknologi yang berkembang di masa depan Seperti Apa Teknologi Masa Depan, Tantangan dan Tren yang akan Terjadi? “Manusia tak akan pernah berhenti bereksplorasi. Kita perlu melihat jauh ke depan dan beralih dari ‘giat berinovasi’ menjadi ‘gigih mencipta’.  Perubahan cepat akan terjadi dalam kehidupan manusia, budaya kerja, dan dalam kehidupan bermasyarakat, seiring makin tingginya pengadopsian teknologi AI, 5G, komputasi awan, serta sejumlah teknologi berkembang lainnya.” Pernyataan diatas disampaikan oleh seorang ahli teknologi dari salah satu perusahaan teknologi terkemuka di dunia, Kevin Zhang. Bicara perubahan dan inovasi, kita tidak bisa lepas dari sektor digitalisasi dan teknologi masa depan. Kemauan dan kebutuhan yang terus berubah lagi bertambah membuat manusia tidak puas dengan apa yang ada. Ditambah lagi adanya kemajuan informasi dan dunia keilmuan, yang mendorong kita untuk berkembang ke arah yang semakin baik. Pada dasarnya, perubahan dan kemajuan teknologi bukanlah...