MATLAB Answers

Ruben
0

removing blackness in ribbon plot

Asked by Ruben
on 17 Apr 2013
Latest activity Commented on by Joana Cabral on 18 May 2018

I am currently using the ribbon plotting function to plot a 678x13 matrix. I would like to use this figure in a report I am writing, yet because of the largness of the matrix I get an awful lot of black regions in the figure. Does anyone know how to remove this? I have included the figure to show you the problem.

Thanks in advance

  2 Comments

Have you tried averaging the data within the matrix?

Have you tried using the width section of the ribbon command as in

ribbon(x,y,width)

the width option has no effect. What do you mean with averaging the data within the matrix?

Sign in to comment.

Tags

1 Answer

Answer by Jonathan Epperl on 17 Apr 2013
 Accepted Answer

The black regions you are seeing are the gridlines along the 678 rows of your matrix. My suggestions:

Save the handles to the surfaces in h:

h = ribbon(M)

Then loop over all of them and set either of those options:

set(ii,'EdgeColor','none')
set(ii,'MeshStyle','column')
set(ii,'EdgeAlpha',.25)

The first removes all the grid lines, the second one removes them in the 'rows' direction, and the third one makes them less opaque. As a copy&paste-able example:

h = ribbon(double(rand([678,20])>.7));
for ii=h'
set(ii,'EdgeAlpha',.25)
end

  2 Comments

works like a charm, thank you very much!

Sign in to comment.