3D scatter plot (function scatter3)
var i, j, k, x = [],y = [], z = [], c = [], r = [];
// generate some data to plot
for (i=0; i < 4; i++) {
x[i] = [];
y[i] = [];
z[i] = [];
c[i] = [];
for (j=0; j < 20; j++) {
x[i][j] = [];
y[i][j] = [];
z[i][j] = [];
c[i][j] = [];
for (k=0; k < 10; k++) {
r = 20 + 5*i;
phi = 2*Math.PI * j/19;
theta = Math.PI * k/9;
phi = 2*Math.PI * j/9;
theta = Math.PI * k/4;
x[i][j][k] = r * Math.sin(theta) * Math.cos(phi);
y[i][j][k] = r * Math.sin(theta) * Math.sin(phi);
z[i][j][k] = r * Math.cos(theta);
c[i][j][k] = r;
}
}
}
fig = new matplot.Figure("plot",700,500);
ax = fig.axes();
ax.scatter3(x,y,z,5,c);
ax.DataAspectRatio([1,1,1]);
ax.colorbar();
ax.CameraPosition([100, 100, 40]);
fig.draw();