Dalam artikel ini, kita akan membahas tentang fungsi scatter3d
yang digunakan untuk membuat plot skalar 3D (three-dimensional scatter plot) di dalam MATLAB. Fungsi ini dapat digunakan untuk menggambar objek-objek seperti titik-titik, garis-garis, dan lain-lain.
Mengabaikan Argument
Jika Anda ingin melewatkan suatu argument, Anda hanya perlu mengabaikannya atau menggantinya dengan [ ]
, seperti contoh di bawah ini:
scatter3d(x, y, z, , mcolors)
atau
scatter3d(x, y, z, [], mcolors)
Contoh Penggunaan
Berikut adalah beberapa contoh penggunaan fungsi scatter3d
:
- Membuat Plot Skalar 3D
Pertama-tama, kita akan membuat plot skalar 3D dengan menggunakan fungsi scatter3d
. Berikut adalah contohnya:
azimuth = 0:12:359;
latitude = 3:12:89;
[az, lat] = ndgrid(azimuth, latitude);
r = cosd(lat);
x = 1.1*cosd(az+lat/3) .* r;
y = 1.1*sind(az+lat/3) .* r;
z = sind(lat);
clf
gcf().color_map = parula(50);
subplot(1,2,1)
scatter3d(x, y, z, r.^2*80);
subplot(1,2,2)
options = list("fill", "markerEdgeColor","red","thickness",0.5);
mcolors = az;
scatter3d(x, y, z, r.^2*80, mcolors, options(:));
gcf().children.grid = [1 1 1]*color("grey50");
gcf().children.rotation_angles = [83 -20];
Dalam contoh di atas, kita menggunakan fungsi scatter3d
untuk membuat plot skalar 3D dengan menggunakan data azimuth dan latitude. Kita juga menambahkan warna dan ukuran marker yang dapat disesuaikan.
- Mengatur Warna Marker
Berikut adalah contoh lainnya yang menunjukkan bagaimana kita dapat mengatur warna marker:
z = linspace(0, 25, 150);
x = z .* cos(z);
y = z .* sin(z);
subplot(2,2,1)
scatter3d(x, y, z)
subplot(2,2,2)
scatter3d(x, y, z, , "turquoise", "fill")
subplot(2,2,3)
scatter3d(x, y, z, "*");
subplot(2,2,4)
scatter3d(x, y, z,...
"markerEdgeColor", [1 0 0],...
"markerFaceColor", "yellow");
Dalam contoh di atas, kita dapat mengatur warna marker dengan menggunakan argument markerFaceColor
dan markerEdgeColor
.
- Menggunakan Handle untuk Proses Post
Berikut adalah contoh lainnya yang menunjukkan bagaimana kita dapat menggunakan handle untuk proses post:
azimuth = 0:12:359;
latitude = 3:12:89;
[az, lat] = ndgrid(azimuth, latitude);
r = cosd(lat);
x = 1.1*cosd(az+lat/3) .* r;
y = 1.1*sind(az+lat/3) .* r;
z = sind(lat);
clf
subplot(1,2,1)
scatter3d(x, y, z, r.^2*80);
title("Initial plot", "fontsize",3)
subplot(1,2,2)
p = scatter3d(x, y, z, r.^2*80);
title("Final plot", "fontsize",3)
np = size(p.data,1);
tmp = ones(1,np) * color("orange");
tmp(p.data(:,2)<0) = color("yellow");
p.mark_background = tmp;
tmp = p.data(:,1) > 0;
p.mark_size(tmp) = p.mark_size(tmp)/1.4;
p.mark_foreground = color("red");
p.thickness = 0.5;
Axes = gcf().children;
Axes.rotation_angles = [82, -40];
Axes.grid = [1 1 1]*color("grey60");
Dalam contoh di atas, kita menggunakan handle untuk mengubah warna marker dan ukuran marker.
Kesimpulan
Dalam artikel ini, kita telah membahas tentang fungsi scatter3d
yang digunakan untuk membuat plot skalar 3D di dalam MATLAB. Fungsi ini dapat digunakan untuk menggambar objek-objek seperti titik-titik, garis-garis, dan lain-lain. Dengan menggunakan argument dan handle, kita dapat mengatur warna marker, ukuran marker, dan lain-lain sehingga plot yang dibuat lebih menarik dan informatif.