Katakanlah saya memiliki data empat dimensi berikut, di mana tiga pertama dapat dianggap sebagai koordinat, dan yang terakhir dapat dianggap sebagai nilai.
c1, c2, c3, value
1, 2, 6, 0.456
34, 34, 12 0.27
12, 1, 66 0.95
Bagaimana cara memvisualisasikan efek tiga koordinat pertama dengan lebih baik pada nilai terakhir?
Saya menyadari tiga metode.
Salah satunya adalah plot 3D untuk tiga koordinat pertama dengan ukuran poin sebagai nilai empat. Tetapi tidak mudah untuk melihat tren dalam data.
Lainnya menggunakan serangkaian plot 3D, masing-masing dengan koordinat tetap.
Yang lain mungkin adalah "grafik teralis" yang disebut dalam kisi R. Tidak yakin apakah ini untuk tujuan ini tetapi tampaknya demikian.
r
data-visualization
Tyler 傲 来 国 主
sumber
sumber
Jawaban:
Jika tiga yang pertama hanya koordinat spasial dan datanya jarang, Anda cukup melakukan sebar plot 3D dengan titik-titik yang berbeda ukuran atau berwarna untuk nilainya.
Terlihat seperti ini: (sumber: gatech.edu )
Jika data Anda dimaksudkan bersifat kontinu dan ada di kisi kisi, Anda dapat memplot beberapa isocontour data menggunakan Marching Cubes .
Pendekatan lain ketika Anda memiliki data 4D yang padat adalah menampilkan beberapa "irisan" 2D data yang disematkan dalam 3D. Akan terlihat seperti ini:
sumber
Apakah Anda memiliki empat variabel kuantitatif? Jika demikian, coba tur, plot koordinat paralel, matriks sebar. Paket tourr (dan tourrGui) dalam R akan menjalankan tur, pada dasarnya rotasi dalam dimensi tinggi, Anda dapat memilih untuk memproyeksikan menjadi 1D, 2D atau lebih, dan ada kertas JSS yang dapat Anda baca untuk memulai yang dikutip dalam paket. Plot koordinat pararel dan matriks sebar berada di paket GGally, juga matriks sebar dalam paket YaleToolkit. Anda juga dapat melihat http://www.ggobi.org untuk melihat video dan dokumentasi lainnya tentang semua ini.
Jika data Anda sepenuhnya kategori, Anda harus menggunakan plot mosaik, atau varian. Lihatlah paket petak produk di R, juga vcd memiliki beberapa fungsi yang masuk akal, atau paket ggparalel untuk melakukan yang setara dengan petak koordinat paralel untuk data kategorikal. Juga, baru saja menemukan paket extracat memiliki beberapa fungsi untuk menampilkan data kategorikal.
Saya salah membaca pertanyaan, pada awalnya, karena saya berhenti pada pertanyaan, dan lalai membaca deskripsi lengkap. Mirip dengan pendekatan di bawah ini (titik-titik pewarnaan dalam 3D) Anda dapat menggunakan menyikat tertaut untuk menjelajahi fungsi yang didefinisikan pada ruang dimensi tinggi. Lihatlah video di sini yang menunjukkan melakukan ini untuk fungsi normal multivarian 3D. Sikat melukis titik dengan kepadatan tinggi (nilai fungsi tinggi) dan kemudian bergerak ke nilai kerapatan lebih rendah dan lebih rendah (nilai fungsi rendah). Lokasi di mana fungsi sampel ditampilkan dalam sebar rotterplot 3D berputar, menggunakan tur, yang dapat digunakan untuk melihat domain 4, 5, atau dimensi yang lebih tinggi juga.
sumber
Coba wajah Chernoff . Idenya adalah untuk melampirkan variabel ke fitur wajah. Misalnya, ukuran senyum akan satu variabel, kebulatan wajah adalah yang lain dll. Sungguh konyol, ini sebenarnya bisa berfungsi jika Anda menemukan cara cerdas untuk memetakan variabel ke fitur.
Cara lain adalah dengan menunjukkan proyeksi 2-d dari diagram fase 3-d. Katakanlah Anda memiliki x1, x2, x3, x4 variabel Anda. Untuk setiap nilai x4, gambarlah grafik 3-d dari (x1, x2, x3) poin, dan hubungkan titik-titik tersebut. Ini berfungsi paling baik ketika x4 dipesan, misalnya tanggal atau waktu.
UPDATE: Anda juga dapat mencoba plot gelembung. Tiga dimensi biasa cartesian x, y, z, dan dimensi 4 akan ukuran titik gelembung.
Anda dapat mencoba animasi, yaitu menggunakan waktu sebagai dimensi keempat.
Juga kombinasi gelembung dan animasi: x, y, gelembung dan waktu.
Juga, terkait dengan Chernoff adalah mesin terbang , yang mungkin terlihat sedikit lebih serius. Ini bintang dengan panjang sinar sebanding dengan nilai variabel.
sumber