Bina peta haba pokok dengan mudah dengan satu baris kod Python

WBOY
Lepaskan: 2023-04-19 15:17:24
ke hadapan
1851 orang telah melayarinya

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.

Pengenalan

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.

Bina peta haba pokok dengan mudah dengan satu baris kod Python

Sumber dendrogram Florida: https://commons.wikimedia.org

Bina dendrogram menggunakan Squarify

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).

1. Pasang perpustakaan yang diperlukan

!pip install squarify
Salin selepas log masuk

2 Import perpustakaan yang diperlukan

import matplotlib.pyplot as plt
import squarify
Salin selepas log masuk

3 Cipta data rawak

Secara rawak a Senarai nilai yang akan dihantar sebagai data ke dalam plot kami.

data = [500, 250, 60, 120]
Salin selepas log masuk

4. Lukiskan dendrogram

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()
Salin selepas log masuk

5 Menggabungkannya

import matplotlib.pyplot as plt
import squarify
data = [500, 250, 60, 120]
squarify.plot(data)
plt.axis('off')
plt.show()
Salin selepas log masuk

Apabila melaksanakan kod ini, kami mendapat:

Bina peta haba pokok dengan mudah dengan satu baris kod Python

setiap kali ini kod dilaksanakan, ia menjana satu set segi empat tepat bersarang warna rawak.

Menggunakan parameter tambahan

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.

1. Nyatakan warna dendrogram

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()
Salin selepas log masuk

Apabila melaksanakan kod ini, kita dapat:

Bina peta haba pokok dengan mudah dengan satu baris kod Python

2. Berikan Dendrogram Menambah Label

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()
Salin selepas log masuk

Apabila melaksanakan kod ini, kita mendapat:

Bina peta haba pokok dengan mudah dengan satu baris kod Python

3. Pad

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()
Salin selepas log masuk

Semasa melaksanakan kod, kita dapat:

Bina peta haba pokok dengan mudah dengan satu baris kod Python

ditulis pada penghujung

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,))
Salin selepas log masuk

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!

Label berkaitan:
sumber:51cto.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!