I have found a solution! I scaled both the colour and *size* of my points so that the outer, less intense points are smaller than the inner, more intense points I want to see, so I can see past the outer layer!
How can I apply variable transparency to a plot using scatter3?
80 views (last 30 days)
Show older comments
Steffen Adria
on 4 Jul 2011
Edited: Jacek Wodecki
on 11 Jul 2024
I'm producing a 3D model, and interior points happen to be more interesting to me. I have a 4-column matrix representing (x,y,z,intensity), and I'm most interested in the high-intensity points; currently they're coloured by intensity. Can I make it so that the transparency of low-intensity points is increased (but I need them to still be visible)?
Thanks
2 Comments
Accepted Answer
Patrick Kalita
on 5 Jul 2011
MATLAB doesn't allow you to control the transparency of markers.
If you don't have a tremendous number of data points you could try drawing small spherical surfaces at each data point. Then you could control the transparency of those surfaces. Here's a File Exchange submission that might help you get started.
6 Comments
Walter Roberson
on 4 Jun 2017
In R2014a and earlier, scatter3() uses patches. In R2014b and later, it does not.
In R2014b and later, there is MarkerFaceAlpha property that can be used to set a single transparency for all of the points.
In R2014b and later, to adjust each of the transparencies individually, then if h is the handle returned by calling scatter3(),
N = h.MarkerHandle.FaceColorData;
N(4,:) = new transparency data, expressed as integer values from 0 to 255
h.MarkerHandle.FaceColorData = N;
Jacek Wodecki
on 17 Aug 2022
Edited: Jacek Wodecki
on 11 Jul 2024
it doesn't work, matlab 2021b
EDIT: still doesn't work until 2024a
More Answers (2)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!