Saya sedang mengerjakan simulasi fisik 2D dan saya mengumpulkan data tepat waktu di beberapa titik. Titik-titik diskrit ini berada di sepanjang garis vertikal, dengan beberapa garis dalam arah aksial. Ini membuat dataset menjadi 4D secara efektif.
Misalnya, anggap saya memiliki titik pengumpulan di (X, Y) koordinat:
- (0,0), (1,0), (2,0)
- (0,1), (1,1), (2,1)
- (0,2), (1,2), (2,2)
dan pada setiap titik saya mengumpulkan mana adalah tekanan, adalah suhu, adalah komponen kecepatan X- dan Y. Pada setiap iterasi simulasi, variabel-variabel ini disimpan untuk semua 9 titik pengumpulan. Jadi semua data saya kontinu dalam waktu di setiap titik diskrit di ruang angkasa.
Misalnya, data untuk satu titik akan terlihat seperti:
Saya tertarik untuk menunjukkan, katakanlah, Tekanan di semua titik setiap saat untuk menunjukkan gelombang vertikal dan aksial. Jika saya melakukan ini di sepanjang garis tunggal (baik vertikal atau aksial), saya bisa menggunakan plot air terjun dengan sumbu (Y, waktu, Tekanan). Tetapi jika saya memiliki 3 garis vertikal dan 3 garis aksial, ini akan menjadi 6 plot air terjun untuk mendapatkan gambaran lengkap tentang gerakan gelombang di kedua arah. Koordinat spasial adalah variabel diskrit sementara lapangan (dalam hal ini Tekanan) dan waktu kontinu.
Pada gambar di atas misalnya, puncak tekanan besar di bisa bepergian ke arah X atau Y.
Apakah ada metode untuk menunjukkan semuanya sekaligus? Biasanya warna dapat ditambahkan untuk membuat dimensi "keempat" terlihat, tetapi apakah ada pendekatan lain yang mungkin? Saya berencana merencanakan sebanyak mungkin cara untuk melihat apakah ada sesuatu yang mengungkapkan informasi yang tidak diketahui orang lain, jadi tolong sampaikan ide apa pun.
Bagaimana jika simulasi adalah 3D dan saya memiliki dataset 5D? Apakah itu mengubah metode visualisasi yang mungkin?
Jawaban:
Saya memiliki beberapa data tujuh dimensi. Meskipun saya akhirnya memilih sedikit slice-through 3 dimensi, satu pilihan adalah Plot Koordinat Paralel . Ini berfungsi untuk sejumlah dimensi yang berubah-ubah! Dari Wikipedia:
sumber
Plot pasangan : Ini bukan metode pengurangan dimensionalitas, tetapi ini adalah cara yang sangat baik untuk mendapatkan gambaran singkat di mana beberapa hubungan yang bermakna mungkin berada. Dalam R, paket dasar berisi
pairs()
fungsi, yang baik untuk data kontinu (ini mengubah segalanya menjadi kontinu). Fungsi yang lebih baik adalahggpairs()
, dariGGally
paket:sumber
Analisis Komponen Utama pada umumnya merupakan pilihan yang baik untuk pengurangan dimensi dalam banyak kasus, saya tidak yakin itu akan cocok untuk masalah khusus Anda, tetapi akan menemukan dimensi ortogonal di mana sebagian besar variasi sampel data ditangkap. Jika Anda mengembangkan di R, Anda bisa menggunakan
prcomp()
untuk hanya mengkonversi matriks asli dari titik data ke bentuk PCA.sumber
Berikut adalah beberapa cara untuk menggambarkan data 3-D dengan ggplot2. Anda dapat menggabungkan pendekatan (facet grids, warna, bentuk, dll.) Untuk meningkatkan dimensi grafik Anda.
sumber
APdf <- data.frame(Time=c(time(AirPassengers)), Year=c(floor(time(AirPassengers))), Month=c(cycle(AirPassengers)), Value=c(AirPassengers)) ; APdf$Month <- month.abb[APdf$Month] ; ggplot(APdf, aes(x=Time, y=Value)) + facet_wrap(facets='Month') + geom_line(data=APdf[,c(1,4)], colour='gray') + geom_point()
. Sialan, aku suka ggplot2.Plot ini menunjukkan profil kecepatan di lokasi aksial yang berbeda, memberikan Anda peta 2D dari bidang aliran. Garis-garis vertikal mewakili 0 kecepatan. Wilayah tanpa titik bukan bagian dari domain komputasi. Tentu saja ini tidak mudah diperluas ke data 3D ...
sumber