Rumah > Artikel > pembangunan bahagian belakang > Bina peta haba pokok dengan mudah dengan satu baris kod Python
Hari ini saya akan mempelajari teknologi visualisasi dengan anda: membina peta pokok. Gambar rajah pokok mudah digambarkan dan mudah difahami. Peta pokok menyampaikan saiz data yang berbeza dengan memaparkan segi empat tepat dengan saiz yang berbeza Secara amnya dipercayai bahawa segi empat tepat yang lebih besar mewakili sebahagian besar keseluruhan, manakala segi empat tepat yang lebih kecil mewakili sebahagian kecil daripada keseluruhan. Dalam artikel ini, Yun Duojun akan belajar dengan anda cara menggunakan perpustakaan Squarify untuk membina rajah pokok dalam Python.
Dendogram menggunakan segi empat tepat berbeza saiz yang disarangkan bersama untuk menggambarkan data hierarki. Saiz setiap segi empat tepat adalah berkadar dengan jumlah keseluruhan data yang diwakilinya. Segi empat tepat bersarang ini mewakili dahan pokok, oleh itu namanya. Selain saiz, setiap segi empat tepat mempunyai warna unik yang mewakili kategori unik. Peta pokok digunakan secara meluas dalam industri daripada institusi kewangan kepada organisasi jualan.
Treemaps pertama kali dicipta pada awal 1990-an oleh Profesor Ben Shneiderman dari Makmal Interaksi Manusia-Komputer di Universiti Maryland. Idea di sebalik visualisasi ini adalah untuk membandingkan kuantiti mengikut saiz dalam ruang tetap. Sekarang, kita akan melihat bagaimana sebenarnya membina awan perkataan.
Sumber dendrogram Florida: https://commons.wikimedia.org
Dalam Python, anda boleh menggunakan Squarify untuk membina dendrogram secara langsung. Dan ia boleh dibina dengan mudah dengan hanya satu baris kod squarify.plot(data).
!pip install squarify
import matplotlib.pyplot as plt import squarify
Secara rawak a Senarai nilai yang akan dihantar sebagai data ke dalam plot kami.
data = [500, 250, 60, 120]
Gunakan kaedah **squarify.plot()** untuk membina dendrogram. Di sini, data pembolehubah data rawak digunakan sebagai parameter kaedah squarify.plot ini. Selain itu, tambahkan baris kod pengubah suai plt.axis('off') untuk menyembunyikan paksi dendrogram.
squarify.plot(data) plt.axis('off') plt.show()
import matplotlib.pyplot as plt import squarify data = [500, 250, 60, 120] squarify.plot(data) plt.axis('off') plt.show()
Apabila melaksanakan kod ini, kami mendapat:
setiap kali ini kod dilaksanakan, ia menjana satu set segi empat tepat bersarang warna rawak.
Lebih banyak hiasan boleh ditambah pada dendrogram dengan bantuan parameter kaedah .plot(). Warna, label dan isian peta pokok boleh dikawal dengan menyatakan sifat secara eksplisit.
import matplotlib.pyplot as plt import squarify sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color) plt.axis('off') plt.show()
Apabila melaksanakan kod ini, kita dapat:
Nilai label yang berbeza boleh ditambah secara eksplisit dengan menghantar senarai ke sifat label squarify.plot(). Ini akan menimpa teg sedia ada atau menambah teg pada dendrogram kami jika ia belum wujud lagi. Label akan ditambahkan pada dendrogram dalam susunan yang sama seperti dalam senarai yang dihantar ke .plot().
import matplotlib.pyplot as plt import squarify labels = ['A', 'AB', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels) plt.axis('off') plt.show()
Apabila melaksanakan kod ini, kita mendapat:
dalam pokok boleh Tambah pad ke peta pokok untuk mengasingkan setiap objek antara satu sama lain dalam peta pokok ini akan membantu membezakan segi empat tepat. Ini berguna apabila terdapat sejumlah besar kategori atau segi empat tepat. Boleh dipanggil dengan menetapkan parameter pad kepada True.
import matplotlib.pyplot as plt import squarify labels = ['AB', 'A', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels, pad = True) plt.axis('off') plt.show()
Semasa melaksanakan kod, kita dapat:
Daripada ini, bina gambar rajah pokok It boleh dikatakan sekeping kek. Selain perpustakaan squarify, dendrogram boleh dibina menggunakan beberapa perpustakaan lain dalam Python. Seperti perpustakaan plotly yang popular. Dalam tweet kedua hari ini, kes aplikasinya diperkenalkan, rakan-rakan yang berminat boleh melihat.
import plotly_express as px import plotly.graph_objects as go px.treemap(names = name, parents = parent) go.Figure(go.Treemap(labels = name, parents = parent,))
Sudah tentu, terdapat banyak alat BI yang boleh digunakan untuk membina rajah pokok dengan lebih mudah dan ringkas.
Kadangkala kekaburan boleh berlaku pada dendrogram. Jika terdapat berbilang kategori dengan nombor yang sama (atau saiz segi empat tepat) dan warna warna yang sama, ia akhirnya menjadi sukar bagi pengguna untuk membezakan antara mereka. Jadi apabila membina dendrogram, anda mesti sentiasa mempertimbangkan bilangan kategori yang terlibat dan pemetaan warna.
Atas ialah kandungan terperinci Bina peta haba pokok dengan mudah dengan satu baris kod Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!