I have a list of 4D data (x position, y position, amplitude, wavelength). I want to plot x, y, and amplitude on a 3D plot and have the color of the points correspond to the wavelength. I have seen many examples using functions to define color but my wavelength cannot be expressed by an analytic function. Is there a simple way to do this?
Answer
Here a another possible way to visualize 4D data:
data = Flatten[Table[{x, y, x^2 + y^2, Sin[x - y]},
{x, -Pi, Pi,Pi/10}, {y,-Pi,Pi, Pi/10}], 1];
You can use the function Point along with VertexColors. Now the points are places using the first three elements and the color is determined by the fourth. In this case I used Hue, but you can use whatever you prefer.
Graphics3D[
Point[data[[All, 1 ;; 3]], VertexColors -> Hue /@ data[[All, 4]]],
Axes -> True, BoxRatios -> {1, 1, 1/GoldenRatio}]
Comments
Post a Comment