How can I set transparency in 2D plot?

22 次查看(过去 30 天)
I have lots of data points overlaid. I would like to know if the is a way in matlab to set the transparency of my plot to be able to visualize the density clearly?
Thanks

采纳的回答

Chris McComb
Chris McComb 2015-3-4
I don't think there's a way to make markers transparent. However, you could plot each data point as a small circle (using patch), and then set the transparency of the patch. This may be relevant if you go that direction: http://stackoverflow.com/questions/5893513/plot-circles-with-alpha-values-in-matlab
  4 个评论
Carl Witthoft
Carl Witthoft 2016-1-28
I tested that referenced code in R2015a with complete success.
Mike Garrity
Mike Garrity 2016-1-28
You can't set the transparency of the markers that plot creates. In fact, plot doesn't really have any support for transparency yet.
But as of R2015b, you can set transparency for the markers that scatter creates. That means that you could do this:
x = 1:10;
y = rand(1,10);
h = plot(x,y);
hold on
scatter(x,y,150,'filled', ...
'MarkerFaceAlpha',3/8,'MarkerFaceColor',h.Color)
hold off

请先登录,再进行评论。

更多回答(1 个)

Peter Rochford
Peter Rochford 2017-11-28
I have written a collection of Matlab functions for creating semi-transparent markers in plots and legends. The files are available from MATLAB Central as the MarkerTransparency package. A few examples of how to use these functions are included in the download and there is also a Wiki on GitHub. A major benefit of this package is it enables the user to have the semi-transparent markers also appear in the legend.

类别

Help CenterFile Exchange 中查找有关 Scatter Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by