Penggunaan Scatter Plot 3D dalam MATLAB

Penggunaan Scatter Plot 3D dalam MATLAB

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:

  1. 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.

  1. 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.

  1. 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.