Jadual Kandungan
Buat carta pai dan cincin
Buat carta gelembung
Meringkaskan
Rumah hujung hadapan web tutorial js Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble

Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble

Mar 15, 2025 am 09:19 AM

Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble

Tutorial ini akan menerangkan cara membuat carta pai, cincin, dan gelembung menggunakan carta.js. Sebelum ini, kami telah mempelajari empat jenis carta carta.js: carta baris dan carta bar (tutorial 2), serta carta radar dan carta rantau polar (Tutorial 3).

Buat carta pai dan cincin

Carta pai dan carta cincin sangat sesuai untuk menunjukkan perkadaran keseluruhan yang dibahagikan kepada bahagian yang berlainan. Sebagai contoh, carta pai boleh digunakan untuk menunjukkan peratusan singa lelaki, singa wanita dan singa muda dalam safari, atau peratusan undi yang diterima oleh calon yang berbeza dalam pilihan raya.

Carta pai hanya sesuai untuk membandingkan parameter tunggal atau dataset. Harus diingat bahawa carta pai tidak dapat menarik entiti dengan nilai sifar kerana sudut kipas dalam carta pai bergantung pada saiz berangka titik data. Ini bermakna mana -mana entiti dengan bahagian sifar tidak akan dipaparkan pada carta. Begitu juga, nilai negatif tidak boleh ditarik pada carta pai.

Dalam carta.js, anda boleh membuat carta pai dengan menetapkan kekunci type ke pie , dan carta cincin dengan menetapkan kekunci type ke doughnut . Berikut adalah contoh membuat kedua -dua carta:

 var piechart = carta baru (Votescanvas, {
    Jenis: 'Pie',
    Data: VotesData,
    Pilihan: Chartoptions
});

var doughnutchart = carta baru (Votescanvas, {
    Jenis: 'Donut',
    Data: VotesData,
    Pilihan: Chartoptions
});
Salin selepas log masuk

Mari buat carta pai yang menunjukkan data eksport minyak (unit: bilion dolar AS) untuk lima pengeksport minyak teratas pada tahun 2015.

 var data = {
    Label: [
        "Arab Saudi",
        "Rusia",
        "Iraq",
        "Uae",
        "Kanada"
    ],
    dataset: [
        {
            Data: [133.3, 86.2, 52.2, 51.2, 50.2],
            Latar Belakang: [
                "#FF6384",
                "#63ff84",
                "#84ff63",
                "#8463ff",
                "#6384ff"
            ]
        }]
}; 
Salin selepas log masuk

Anda boleh menggunakan kekunci yang berbeza untuk mengawal paparan carta di atas, seperti cutout , yang boleh menjadi nombor atau rentetan. Jika ditentukan sebagai nombor, nilai dianggap sebagai nilai piksel; Anda boleh menggunakan kekunci rotation untuk menentukan sudut permulaan carta. Begitu juga, anda juga boleh menggunakan kekunci circumference untuk menentukan sudut di mana carta mengimbas apabila merancang data. Kedua -dua sudut dinyatakan dalam darjah dan bukannya radian.

Dua animasi yang berbeza boleh diaktifkan apabila melukis carta. Anda boleh menggunakan kekunci animateRotate untuk menentukan sama ada carta harus mempunyai animasi putaran. Begitu juga, anda juga boleh menggunakan kekunci animateScale untuk menentukan sama ada graf cincin harus ditingkatkan dari pusat. Nilai animateRotate adalah true secara lalai, dan nilai animateScale adalah false secara lalai.

Seperti biasa, anda boleh menggunakan kekunci backgroundColor , borderColor , dan borderWidth untuk mengawal warna latar belakang, warna sempadan dan lebar sempadan semua titik data. Begitu juga, nilai hover untuk semua sifat ini boleh dikawal menggunakan kunci hoverBackgroundColor , hoverBorderColor , dan hoverBorderWidth .

Berikut adalah kod untuk membuat graf cincin untuk data di atas. Tetapkan nilai rotation ke -90 Tetapkan titik permulaan untuk memutar 90 darjah lawan jam.

 var oildata = {
  Labels: ["Arab Saudi", "Rusia", "Iraq", "UAE", "Kanada"],
  dataset: [
    {
      Data: [133.3, 86.2, 52.2, 51.2, 50.2],
      BackgroundColor: ["#FF6384", "#63ff84", "#84ff63", "#8463ff", "#6384ff"],
      BorderColor: "Hitam",
      BorderWidth: 2
    }
  ]
};

var chartOptions = {
  putaran: -90,
  Cutout: "45%",
  Plugin: {
    Tajuk: {
      Paparan: Benar,
      Kedudukan: "Bawah",
      Teks: "Pengeksport minyak utama pada tahun 2015",
      font: {
        Saiz: 32
      }
    },
    legenda: {
      Kedudukan: "Kiri",
      Align: "Mula"
    }
  },
  Animasi: {
    animaterotate: palsu,
    Animatescale: Benar
  }
};

var donutchart = carta baru (OilCanvas, {
  Jenis: "Donut",
  Data: Oildata,
  Pilihan: Chartoptions
}); 
Salin selepas log masuk

Buat carta gelembung

Carta gelembung digunakan untuk menarik atau memaparkan tiga dimensi data pada carta ( P1 , P2 , P3 ). Kedudukan dan saiz gelembung menentukan nilai tiga titik data ini. Paksi mendatar mewakili titik data pertama (P1), paksi menegak mewakili titik data kedua ( P2 ), dan kawasan gelembung digunakan untuk mewakili nilai titik data ketiga ( P3 ).

Harus diingat bahawa saiz titik data ketiga tidak diwakili oleh jejari gelembung, tetapi oleh kawasan mereka. Kawasan bulatan adalah berkadar dengan kuadrat jejari. Ini bermakna anda perlu memastikan bahawa radius gelembung yang anda lukis adalah berkadar dengan akar kuadrat saiz titik data ketiga.

Dalam Chart.js, anda boleh membuat carta gelembung dengan menetapkan nilai kekunci type ke bubble . Berikut adalah contoh cara membuat carta gelembung:

 var bubblechart = carta baru (PopCanvas, {
    Jenis: 'Bubble',
    Data: Popdata,
    Pilihan: Chartoptions
});
Salin selepas log masuk

Mari kita gunakan carta gelembung untuk menarik berat item yang berbeza di dalam bilik. Data carta perlu diluluskan dalam format objek. Objek data perlu mempunyai antara muka berikut untuk menarik dengan betul.

 {
    x:<number> ,
    y:<number> ,
    r:<number>
}</number></number></number>
Salin selepas log masuk

Perbezaan penting antara carta gelembung dan semua carta lain adalah bahawa radius gelembung tidak skala dengan carta.

Sebagai contoh, lebar bar dalam carta bar meningkat atau berkurangan mengikut saiz carta. Ini tidak akan berlaku dengan carta gelembung. Radius gelembung sentiasa sama dengan bilangan piksel yang tepat yang anda nyatakan. Ini masuk akal kerana dalam jenis carta ini, radius sebenarnya digunakan untuk mewakili data sebenar.

Mari buat carta gelembung untuk merancang bilangan kawanan rusa di lokasi yang berbeza di hutan.

 var popdata = {
  dataset: [
    {
      Label: ["Deer Herd"],
      Data: [
        {x: 100, y: 0, r: 10},
        {x: 60, y: 30, r: 20},
        {x: 40, y: 60, r: 25},
        {x: 80, y: 80, r: 30},
        {x: 20, y: 30, r: 25},
        {x: 0, y: 100, r: 5}
      ],
      Latar BelakangColor: "#FF9966"
    }
  ]
};
Salin selepas log masuk

Oleh kerana jejari di sini adalah berkadar dengan akar kuadrat nombor sebenar, bilangan rusa di (80, 80) adalah 36 kali bilangan rusa di (0, 100).

Seperti semua jenis carta yang lain, anda boleh menggunakan backgroundColor , borderColor , dan Kekunci borderWidth untuk mengawal warna latar belakang, warna sempadan, dan lebar sempadan mata yang ditarik. Begitu juga, anda juga boleh menggunakan kekunci hoverBackgroundColor , hoverBorderColor , dan hoverBorderWidth untuk menentukan warna latar belakang hover, melegakan warna sempadan, dan melayang lebar sempadan.

Anda juga boleh menggunakan kekunci hoverRadius untuk menentukan radius tambahan untuk menambah gelembung yang berbeza apabila melayang. Ingat bahawa jejari ini akan ditambah kepada nilai asal untuk menarik gelembung melayang. Jika jejari gelembung asal adalah 10 dan hoverRadius ditetapkan kepada 5, radius gelembung pada hover akan sama dengan 15.

 var popdata = {
  dataset: [
    {
      Label: ["Deer Herd"],
      Data: [
        {x: 100, y: 0, r: 10},
        {x: 60, y: 30, r: 20},
        {x: 40, y: 60, r: 25}
      ],
      Latar Belakang Color: "#9966ff",
      HoverbackgroundColor: "#fffff",
      HoverborderColor: "#9966ff",
      HoverborderWidth: 5,
      Hoverradius: 5
    },
    {
      Label: ["Nombor Giraffe"],
      Data: [
        {x: 80, y: 80, r: 30},
        {x: 20, y: 30, r: 25},
        {x: 0, y: 100, r: 5}
      ],
      Latar Belakang Color: "#FF6600",
      HoverbackgroundColor: "#fffff",
      HoverborderColor: "#FF6600",
      HoverborderWidth: 5,
      Hoverradius: 5
    }
  ]
};

var chartOptions = {
  Plugin: {
    Tajuk: {
      Paparan: Benar,
      Kedudukan: "Bawah",
      Teks: "Bilangan haiwan di tempat panas yang berbeza",
      font: {
        Saiz: 20
      }
    },
    legenda: {
      Kedudukan: "Bawah",
      Align: "Pusat"
    }
  },
  susun atur: {
    Padding: 20
  }
};
Salin selepas log masuk

Parameter di atas akan membuat carta gelembung berikut.

Meringkaskan

Dalam tutorial ini, anda belajar tiga jenis carta lain yang terdapat dalam carta.js. Anda kini boleh memilih jenis carta yang sesuai untuk merancang data dan menetapkan nilai khusus untuk kunci yang berbeza untuk mengawal penampilannya. Dalam tutorial seterusnya, anda akan belajar bagaimana memanipulasi skala untuk jenis carta yang berbeza.

Atas ialah kandungan terperinci Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Apr 04, 2025 pm 05:09 PM

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Apr 04, 2025 pm 05:12 PM

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

See all articles