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?
87 次查看(过去 30 天)
显示 更早的评论
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
采纳的回答
Patrick Kalita
2011-7-5
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 个评论
Walter Roberson
2017-6-4
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
2022-8-17
编辑:Jacek Wodecki
2024-7-11
it doesn't work, matlab 2021b
EDIT: still doesn't work until 2024a
更多回答(2 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!