Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pustaka lukisan Python sumber terbuka yang berkuasa

Pustaka lukisan Python sumber terbuka yang berkuasa

王林
王林ke hadapan
2023-05-11 12:07:051325semak imbas

功能强大的开源 Python 绘图库

Sebab mengapa saya telah menggunakan matplotlib sebelum ini adalah kerana saya telah menghabiskan ratusan jam "tenggelam" di dalamnya untuk mempelajari sintaksnya yang kompleks. Ini juga menyebabkan saya menghabiskan banyak larut malam mencari di StackOverflow untuk "memformat tarikh" atau "menambah paksi Y kedua".

Tetapi kini kami mempunyai pilihan yang lebih baik - seperti perpustakaan Plotly Plotly sumber terbuka yang mudah digunakan, didokumentasikan dengan baik dan berkuasa. Hari ini saya akan memberi anda pengalaman yang mendalam dan memahami cara ia boleh melukis carta yang lebih baik dengan kod yang sangat mudah (walaupun hanya satu baris!).

Semua kod dalam artikel ini adalah sumber terbuka pada Github dan semua carta adalah interaktif Sila gunakan buku nota Jupyter untuk melihat.

(Alamat kod sumber Github: https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb)

功能强大的开源 Python 绘图库

(Contoh carta yang dilukis mengikut plotly. Sumber imej: plot.ly)

Gambaran Keseluruhan Plot

Pakej Python plotly ialah perpustakaan kod sumber terbuka berdasarkan plot.js , manakala yang terakhir adalah berdasarkan d3.js. Apa yang sebenarnya kami gunakan ialah perpustakaan yang merangkum secara plot, dipanggil cufflinks, yang memudahkan anda menggunakan plotly dan jadual data Pandas untuk berfungsi bersama.

*Nota: Plotly sendiri ialah syarikat teknologi visualisasi dengan beberapa produk berbeza dan set alatan sumber terbuka. Pustaka Python Plotly adalah percuma untuk digunakan Dalam mod luar talian, anda boleh mencipta carta tanpa had dalam mod dalam talian, kerana perkhidmatan perkongsian Plotly digunakan, anda hanya boleh menjana dan berkongsi 25 carta.

Semua visualisasi dalam artikel ini dilakukan dalam Buku Nota Jupyter menggunakan perpustakaan plotly + cufflinks dalam mod luar talian. Selepas melengkapkan pemasangan menggunakan pautan manset pemasangan pip secara plot, anda boleh menggunakan kod berikut untuk melengkapkan import dalam Jupyter:

功能强大的开源 Python 绘图库

Taburan univariate: histogram dan Carta plot kotak

Carta analisis univariat selalunya menjadi amalan standard semasa memulakan analisis data, dan histogram pada asasnya adalah salah satu carta yang diperlukan untuk analisis pengedaran univariat (walaupun masih mempunyai beberapa kelemahan).

Ambil jumlah bilangan suka pada catatan blog sebagai contoh (lihat Github untuk data asal: https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium) dan buat ringkasan histogram interaktif :

功能强大的开源 Python 绘图库

(df dalam kod ialah objek kerangka data Pandas standard)

功能强大的开源 Python 绘图库

(dibuat menggunakan plotly+ cufflinks Interactive bar chart)

Bagi pelajar yang sudah biasa dengan matplotlib, anda hanya perlu menaip satu huruf lagi (tukar .plot kepada .iplot) untuk mendapatkan carta interaktif yang kelihatan lebih cantik! Mengklik pada elemen pada imej mendedahkan maklumat terperinci, mengezum masuk dan keluar, dan (kita akan pergi ke seterusnya) menyerlahkan ciri seperti menapis bahagian tertentu imej.

Jika anda ingin melukis carta lajur bertindan, anda hanya perlu melakukan ini:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Hanya lakukan operasi mudah pada jadual data panda Memproses dan menjana carta bar:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Seperti yang ditunjukkan di atas, kami boleh menyepadukan keupayaan plotly + manset dan panda bersama-sama. Sebagai contoh, kita boleh menggunakan .pivot() untuk melakukan analisis jadual pangsi dan kemudian menjana carta bar.

Sebagai contoh, mengira bilangan peminat baharu yang dibawa oleh setiap artikel dalam saluran penerbitan yang berbeza:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Kelebihan carta interaktif ialah kita boleh meneroka data dan memisahkan sub-item untuk analisis sesuka hati. Plot kotak boleh memberikan banyak maklumat, tetapi jika anda tidak dapat melihat nilai tertentu, anda mungkin terlepas banyak maklumat itu!

Plot serakan

Plot serakan ialah kandungan teras kebanyakan analisis Ia membolehkan kita melihat perubahan satu pembolehubah dari semasa ke semasa, atau dua (atau lebih) perubahan dalam hubungan antara pembolehubah.

Analisis Siri Masa

Dalam dunia nyata, sebahagian besar data mempunyai unsur masa. Nasib baik, pautan manset plotly + dilengkapi dengan fungsi terbina dalam untuk menyokong analisis visual siri masa.

Ambil data artikel yang saya terbitkan di tapak web "Towards Data Science" sebagai contoh Mari kita bina set data menggunakan masa penerbitan sebagai indeks untuk melihat bagaimana populariti artikel itu berubah:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Dalam gambar di atas, kami telah mencapai beberapa perkara dengan satu baris kod:

  • Menjana masa yang indah secara automatik siri paksi X
  • Tambah paksi Y kedua kerana julat kedua-dua pembolehubah tidak konsisten
  • Letakkan tajuk artikel dalam label yang dipaparkan pada tetikus

Untuk paparan Untuk lebih banyak data, kami boleh menambah anotasi teks dengan mudah:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

(plot taburan dengan anotasi teks)

Dalam kod di bawah, kami mewarnakan plot serakan dua pembolehubah dengan pembolehubah kategori ketiga:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Seterusnya Kami akan pergi untuk mendapatkan sedikit lebih rumit: paksi logaritma. Kami mencapai ini dengan menentukan parameter susun atur plotly (untuk susun atur yang berbeza, sila rujuk dokumen rasmi https://plot.ly/python/reference/), dan kami menggabungkan saiz titik (parameter saiz) dan pembolehubah berangka read_ratio (nisbah bacaan) terikat Lebih besar nombor, lebih besar saiz gelembung.

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Jika anda ingin menjadi lebih kompleks (lihat kod sumber Github untuk butiran), kami juga boleh memasukkan 4 ke dalam satu gambar Pembolehubah ! (Walau bagaimanapun, anda tidak disyorkan untuk melakukan ini)

功能强大的开源 Python 绘图库

Seperti sebelum ini, kami boleh menggabungkan panda dengan plotly+cufflinks untuk mencapai banyak carta berguna:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Adalah disyorkan agar anda menyemak dokumentasi rasmi atau kod sumber, yang mengandungi lebih banyak contoh dan contoh fungsi. Dengan hanya satu atau dua baris kod, anda boleh menambah elemen berguna seperti anotasi teks, baris tambahan dan baris paling sesuai pada carta anda, sambil mengekalkan fungsi interaktif asal.

Fungsi lukisan lanjutan

Seterusnya, kami akan memperkenalkan beberapa carta khas secara terperinci Anda mungkin tidak menggunakannya dengan kerap, tetapi saya berjanji bahawa selagi anda menggunakannya dengan baik, Ia pasti akan menarik perhatian orang ramai. Kami akan menggunakan modul figure_factory plotly, yang boleh menjana carta hebat dengan hanya satu baris kod!

Matriks Plot Scatter

Jika kita ingin meneroka hubungan antara banyak pembolehubah yang berbeza, Matriks Plot Scatter (juga dikenali sebagai SPLOM) ialah pilihan yang bagus:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Malah grafik kompleks sedemikian adalah interaktif sepenuhnya, membolehkan kami meneroka data dengan lebih terperinci.

Peta haba hubungan

Untuk menggambarkan hubungan antara berbilang pembolehubah berangka, kita boleh mengira korelasinya dan kemudian memvisualisasikannya dalam bentuk peta haba berlabel:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Tema tersuai

Selain kepelbagaian carta yang tidak berkesudahan, Cufflinks juga menyediakan banyak tema pewarna yang berbeza, membolehkan anda bertukar dengan mudah antara gaya carta yang berbeza. Dua gambar berikut ialah tema "ruang" dan tema "ggplot" masing-masing:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Selain itu, terdapat carta 3D ( permukaan dan gelembung gelembung):

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Bagi pengguna yang berminat dalam penyelidikan, tidak sukar untuk membuat carta pai:

功能强大的开源 Python 绘图库

Edit dalam Plotly Chart Studio

Selepas anda menjana carta ini dalam Jupyter Notebook, anda akan mendapati penjuru kanan sebelah bawah carta muncul Pautan kecil yang menyatakan "Eksport ke plot.ly". Jika anda mengklik pada pautan ini, anda akan melompat ke "Bengkel Carta" (https://plot.ly/create/).

Di sini anda boleh menyemak dan menggilap carta anda sebelum pembentangan akhir. Anda boleh menambah anotasi, memilih warna elemen tertentu, menyusun segala-galanya dan menghasilkan carta yang hebat. Kemudian, anda juga boleh menerbitkannya di web, menjana pautan untuk disemak oleh orang lain.

Dua gambar berikut telah dibuat dalam bengkel carta:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Setelah berkata begitu banyak, ia mudah dibaca Adakah anda bosan menontonnya? Walau bagaimanapun, kami belum habiskan semua keupayaan perpustakaan ini. Disebabkan oleh keterbatasan ruang, terdapat beberapa carta dan contoh yang lebih baik, jadi sila lawati dokumen rasmi plotly dan cufflinks untuk melihatnya satu persatu.

功能强大的开源 Python 绘图库

(Peta interaktif plot yang menunjukkan data ladang angin di seluruh Amerika Syarikat. Sumber: plot.ly)

Akhirnya...

Perkara yang paling teruk tentang kesilapan kos tenggelam adalah bahawa orang sering hanya menyedari betapa banyak masa yang telah mereka sia-siakan apabila mereka berputus asa dengan usaha sebelumnya.

Apabila memilih pustaka lukisan, fungsi yang paling anda perlukan ialah:

Satu baris carta kod diperlukan untuk meneroka data dengan pantas

  • Elemen pisah /Interaktif diperlukan untuk data kajian
  • Pilihan untuk menelusuri butiran apabila diperlukan
  • Mudah disesuaikan sebelum pembentangan akhir

Mulai sekarang, pilihan terbaik untuk menggunakan bahasa Python untuk mencapai fungsi di atas adalah plot. Ia membolehkan kami menjana carta visual dengan cepat, dan ciri interaktif membolehkan kami memahami maklumat dengan lebih baik.

Saya mengakui bahawa merancang pastinya merupakan bahagian yang paling menyeronokkan dalam kerja sains data, dan secara terancang menjadikan menyelesaikan tugasan ini lebih menyeronokkan.

功能强大的开源 Python 绘图库

(Gunakan carta untuk menunjukkan perubahan dalam keseronokan melukis dengan Python dari semasa ke semasa. Sumber: towardwardsdatascience.com)

2022 adalah masa untuk menaik taraf Anda perpustakaan lukisan Python, biarkan diri anda menjadi lebih pantas, lebih kuat dan lebih cantik dalam sains data dan visualisasi!

Atas ialah kandungan terperinci Pustaka lukisan Python sumber terbuka yang berkuasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam