Removing grid/edge lines in pcolor() figure
    172 views (last 30 days)
  
       Show older comments
    
I have a figure drawn using pcolor(). A lot of small grid lines are drawn that effectively darken the figure so that you can't see the colors well. I can remove the lines by selecting the graphic and then open the property editor and change "Edges" (shown with a drop down menu) to "no line". Is there a command I can code into my script that will do this?
2 Comments
  NUR AMIRA ZULKIFLLI
 on 2 May 2020
				
      Edited: NUR AMIRA ZULKIFLLI
 on 26 May 2020
  
			 set(h, 'edgecolor','none') or surf(SMImage{SMImageNumber},'edgecolor','none'); fix my problem
  Image Analyst
      
      
 on 2 May 2020
				Well you could edit the function to change varargin to tack on the 'EdgeColor', 'none' to it. 
>> edit pcolor.m
But it's not recommended to alter built-in functions.  
Again, pcolor does not show the last row and column.  From the comments in the function "PCOLOR(C) is a pseudocolor or "checkerboard" plot of matrix C. ... the last row and column of C are not used."  Here it is displaying a 4-by-4 matrix:
>> pcolor(randi(9, 4, 4))

Note: it's not 4-by-4.
Accepted Answer
More Answers (4)
  Toshia M
    
 on 4 Oct 2024
        Starting in R2024b, you can specify a name-value argument (EdgeColor="none") to remove the edge lines.
pcolor(rand(10,10),EdgeColor="none")
0 Comments
  Image Analyst
      
      
 on 30 Apr 2012
        Tell me why you're using pcolor() instead of image(), imagesc(), or imshow(), none of which have dark lines between the pixels and all of which have a color or intensity related to one pixel's value (unlike pcolor). pcolor can show a color related to the pixel value if you use flat shading but otherwise "each cell is colored by bilinear interpolation of the colors at its four vertices, using all elements of C" - is that what you want? Plus you don't get a little colored square for each pixel even if you did use flat shading - the last row and column are missing - is that what you want? I'm sure that there is someone out there who wants the "pixel" color to depend on how tilted the tile is when tying its corners to the four corners where the pixels are, rather than depend on the color of the individual pixels, but I haven't seen anyone say so yet - they've all dumped pcolor for a regular image display function.
4 Comments
  Gabor Bekes
      
 on 22 Feb 2017
        arrayfun(@(s) set(s,'EdgeColor','none'), findobj(gcf,'type','surface'))
If you have multiple pcolor plots in subplots. I also haven't found a way to set it directly when drawing.
0 Comments
See Also
Categories
				Find more on Graphics Object Properties 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!