Menggambar Grafik Scattered di Peta menggunakan Plotly

Menggambar Grafik Scattered di Peta menggunakan Plotly

Dalam artikel ini, kita akan belajar cara membuat peta interaktif yang dapat mewakili beberapa fitur data dengan kode yang sangat sedikit. Kita akan menggunakan kombinasi Plotly Express dan Mapbox untuk mencapai tujuan tersebut.

Apa itu Plotly dan Mapbox?

Plotly adalah library visualisasi yang kuat yang memberikan kemampuan-kemampuan seperti plot interaktif, dinamis, mudah digunakan, dan sangat rinci. Plotly Express adalah bagian built-in dari library Plotly yang memberikan API tingkat tinggi yang memerlukan kode sangat sedikit untuk membuat berbagai macam grafik. Kita akan menggunakan Plotly Express bersama Mapbox.

Mapbox adalah platform data lokasi yang memberikan API untuk peta, routing, dan navigasi.

Menggunakan Data Airbnb di San Francisco

Kita akan menggunakan dataset Airbnb San Francisco dari Kaggle untuk menganalisis hubungan antara harga, jenis akomodasi, dan area secara visual. Dengan melihat peta, kita dapat melihat bagaimana area mempengaruhi harga.

Data ini memiliki banyak kolom, tetapi hanya beberapa yang terkait dengan artikel ini adalah latitude, longitude, price, dan room_type. Harga adalah harga per malam, sedangkan room_type menunjukkan apakah Airbnb adalah hotel, kamar pribadi, kamar bersama, atau rumah seluruh.

Mengkonversi Data

Kita akan memerlukan token Mapbox. Tidak perlu khawatir, karena itu gratis hingga batas tertentu dan tidak memerlukan informasi kartu untuk sign up. Anda dapat mendapatkan token di sini secara gratis. Setelah sign up, token tersebut dapat ditemui di halaman akun Anda.

Kita juga perlu mengkonversi harga menjadi float. Kolom harga saat ini berisi string dengan simbol $ dan koma. Contohnya adalah $1,200. Berikut adalah cara cepat untuk mengkonversikan seluruh kolom menjadi nilai float.

Membuat Grafik Scattered

Sekarang, kita dapat membuat grafik scattered! Jika Anda menjalankan kode ini di Colab, maka Anda tidak perlu install Plotly. Sebaliknya, Anda dapat menggunakan pip install.

Kita hanya perlu menulis kode seperti berikut. Di sini, kita pertama kali memasukkan token Mapbox. Kemudian, kita menggunakan fungsi px.scatter_mapbox dengan argumen-argumen sebagai berikut:

  • data: Referensi pada data frame kita.
  • lat: Referensi pada kolom latitude di dalam data frame.
  • lon: Referensi pada kolom longitude di dalam data frame.
  • color: Membuat warna untuk setiap titik data berdasarkan nilai di dalam kolom room_type. Kita memiliki empat jenis kamar, maka kita akan memiliki empat warna.
  • size: Ukuran bubble yang proporsional dengan harga.

Menghasilkan Grafik

Berikut adalah contoh hasil grafik:

Airbnbs di San Francisco berdasarkan tipe kamar dan harga

Kita dapat memainkan dengan opsi-opsi di sudut kanan atas plot untuk fitur-fitur seperti zooming, memilih area tertentu, atau mengunduh gambar sebagai file.

Mengidentifikasi Trend

Kita lihat bahwa ada beberapa trend yang logis. Namun, sebelum kita membuat kesimpulan, perlu diingat bahwa harga Airbnb tergantung pada berbagai fitur dan lain-lain. Namun, kita dapat melihat beberapa trend umum.

  • Rumah di dekat Pacific Heights dan Russian Hill memiliki harga yang lebih tinggi daripada area lain di San Francisco.
  • Saat kita zoom out, kita lihat bahwa kepadatan rumah tidak seimbang. Ada lebih banyak kamar di sisi kanan peta dibandingkan dengan sisi kiri.

Kita juga melihat bahwa mayoritas kamar adalah apartemen atau kamar pribadi. Terlihat juga ada apartemen yang sangat mahal berharga 9999 dollar dekat Carl St. Aneh!

Simpulan

Dengan menggunakan Plotly Express dan Mapbox, kita dapat membuat grafik yang kuat dan informasi-rich dengan hampir tidak adanya kode. Ini hanya salah satu jenis GeoPlot yang ditawarkan oleh Plotly. Anda dapat melihat contoh lain di sini.

Jika Anda menyukai artikel ini, maka Anda juga mungkin menyukai:

  • Cari tahu lebih lanjut tentang GitHub saya dan proyek-proyek lainnya.
  • Menggunakan data untuk menganalisis dan membuat keputusan.