MATLAB Answers

How to make data points on graph transparent or less visible?

61 views (last 30 days)
Marin on 10 Jul 2012
I need to plot an contourf plot which represents the density of some data points and over that I need to put those data points. The problem is when I plot them ordinarily, I can barely see anything, so I started experimneting with transparency, but while it's easy to make the contourf plot transparent with alpha command, how can I make the data points transparent? alpha doesn't seem to work for them.
I would like for the data points just to be a slight haze in the background and for the contours too be visible over them.
And one more thing. Where in the plot tools can I find the option to adjust alpha for contourf graph? It's for another figure, but the problem is similar to this one I think. I plot the contourf graph with alpha 0.5. Then I open the plot tools and adjust the x axis to log scale. As I do that Matlab automaticaly sets alpha back to 1 and I cannot find anywhere in the plot tools and docking figure an option to adjust it back
Any help with tese two problems?
Thank you in advance!


Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 11 Jul 2012
The only renderer that supports transparency is OpenGL, but OpenGL does not support log scale axes.
What are you using to plot your data points at present?


Show 1 older comment
Walter Roberson
Walter Roberson on 11 Jul 2012
It is not possible to define transparency for a line object or lineseries object (which is what plot()) returns.
scatter() would be more natural for your purpose. For up to close to 1000 points, scatter creates a scattergroup object that has one child patch object per point; the alpha of the children can be set. It was recently reported that starting about 1000 points, scatter creates a single patch instead of one per point. It would be possible to set the alpha of that one patch, but it would perhaps be tricky to set it to different values at different locations (if it turned out you needed that.)
Marin on 12 Jul 2012
I don't think I'll need to set it at different values for different locations. So do I just write something like:
alpha 0.5
Or is it more complex than that? How do I control these patches and set their alpha?
And can I set one axis in log scale for scatter plot?
Marin on 14 Jul 2012
I've been reading on scattergroup objects in this link that you sent, but I cannot make anything useful out of it. :( Im' still new at Matlab...

Sign in to comment.

Sign in to answer this question.