Code covered by the BSD License  

Highlights from
Hatch fill patterns plus Color & Invert

4.88889
4.9 | 9 ratings Rate this file 189 Downloads (last 30 days) File Size: 48.7 KB File ID: #24021
image thumbnail

Hatch fill patterns plus Color & Invert

by

Brandon Levey

  • 1 file
  • 189 downloads
  • 4.88889

 

06 May 2009 (Updated )

Updated code hatch with color and inverted hatches

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

| Watch this File

File Information
Description

This is an update of Brian Katz's update to Ben Hinkle's original applypatch and makepatch code for replacing colors in figures with hatches as well as David's applypatch_plus. This new version allows you to either make a black and white hatch or use the colors of the fill to create colored hatches. Additionally you can invert the hatch, i.e. it is possible to have a blue hatch with white background or a white hatch with blue background. All of the previous work done in the plus addition should still work, just these are now new options. See help of functions for example usage.

Acknowledgements

Hatch Fill Patterns Plus Plus, Hatched Fill Patterns, and Hatched Fill Patterns Plus inspired this file.

MATLAB release MATLAB 7.2 (R2006a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (16)
28 Jan 2015 Ander Biguri

Ander Biguri

 
06 Dec 2014 Yongqiang

Yongqiang

Awesome!!! Changed my figure in no time!!!

30 Apr 2014 Brian Katz

Brian Katz

I would like to acknowledge this work by Brendon. I would like however like to note that the development of "applyhatch_plusC" and this routine have diverged somewhat, with different approaches for creating custom hatch patterns and resolving image resolution questions. As such, cross-compatibility can no longer be assured.

Comment only
30 Oct 2013 Elizabeth

Elizabeth

I've played around with the options a bit, but I cannot figure out how to create colored bars with a black pattern on top (the white patterns definitely do not show up well enough). How can I do this? Thank you!

Comment only
02 Aug 2013 fadela

fadela

Nice work!

Comment only
02 Aug 2013 fadela

fadela

 
23 Apr 2013 joanna

joanna

It's helpful to me. It's works.

Comment only
23 Feb 2013 Jawad

Jawad

Hi,

I tried it with bar but i am having problem with resizing the image. If i keep the image at a very large size then lines are visible but if i resize the image to a relatively smaller size, lines change and eventually become garbage. It is quite sensitive to size change, and even i don't know what is the best size of the figure at which it works. It also is overwriting the bar borders so some sides get disappear. Would you please tell if it is possible to keep the hatch in the bar as well as to resize figure so that it fits the paper? Lines in the bar move as i resize the image. What is the best size at which it works?

Comment only
25 Aug 2012 fan kaibo

fan kaibo

It is very good and helpful for my work!

29 Mar 2012 sinoTrinity Liu

sinoTrinity Liu

I tried to embed the hatched figures in postscript (ps) http://www.cs.wayne.edu/xliu/imgs/ps.jpg, but they look much worse than in pdf http://www.cs.wayne.edu/xliu/imgs/pdf.jpg. Do you know how I can fix this issue?

29 Mar 2012 sinoTrinity Liu

sinoTrinity Liu

I tried to embed the hatched figures in postscript (ps) http://www.cs.wayne.edu/xliu/ps.jpg, but they look much worse than in pdf http://www.cs.wayne.edu/xliu/pdf.jpg. Do you know how I can fix this issue?

Comment only
01 Mar 2011 Sungeun Lee

Sungeun Lee

 
18 Oct 2010 Peter Costa

Peter Costa

 
02 Nov 2009 Stefan

Stefan

Does just what I was looking for!

01 Oct 2009 Olivier Planchon

Olivier Planchon

Bug Report :
the image generated has twice the number of rows, and columns (thus 4 times the weight) than expected by the defined size and image position.
as a result, Fonts in the result files are half the desired size. See at the end of my comment a file that demonstrates this bug.

Other comments :
This is a convenient workaround to create hatched graphichs.
input is a color graphic (either a matalb figure or an image file).
Output is a hatched graphic where each color area was changed into hatches.

I do not feel comfortable with the last two parameters (scales) because they are relative. Absolute line width and spacing would be better imho (perhaps this is possible and I missed something).

bug demo file :

txt = {'Police 6 1a23b45c67d89e0. ' ; 'Police 8 1a23b45c67d89e0. '; 'Police 10 1a23b45c67d89e0. '; 'Police 12 1a23b45c67d89e0. '} ;

% définit figure vide
fghl = figure(1) ;
clf % clear figure
hold off
set (fghl, 'PaperUnits', 'centimeters') % unité de papier
set (fghl, 'Units', 'centimeters') % unités d'écran (marche pas vraiment ...
figure_margins = [1 1] ; % En cm : position = 1 cm du coin BG de l'image,
figure_size = [8.5 5] ;% taille = largeur x hauteur, en cm.
set (fghl, 'PaperType', 'A4', 'PaperPosition', [figure_margins figure_size])
set (fghl, 'Position', [figure_margins 2*figure_size])
whitebg(fghl, 'white') ; % white back ground

% Les traits et les polices
ligne.hair = 0.5 ;
ligne.normal = 1 ;
ligne.semibold = 1.5 ;
ligne.bold = 2 ;

fontsize = [6 8 10 12] ;

hold on
plot([0 1 2], [0 1 4], 'k', 'linewidth', ligne.normal) ;
t = (1/16:1/8:1)'*2*pi;
x = sin(t);
y = cos(t);
fill(x,y,'r')
axis equal

x0a = [0 0 0 0] ;
y0a = 1.5:-0.2:0 ;
x0b = -1 ;
y0b = 3 ;
for i = 1:4
text(x0a(i), y0a(i), txt(i), 'fontsize', fontsize(i))
end

txt2 = [] ;
for i=1:4
t = txt{i} ;
txt2 = [txt2 '\fontsize{' num2str(fontsize(i)) '}' t] ;
end
text(x0b, y0b, txt2) ;

drawnow

% Transforme les couleurs en hachurage
dpi = 72

% Sauve la figure
dpitag = ['-r' num2str(dpi)] ;
print('-dtiffn',dpitag ,'test1.tiff') ; % This file is correct

[im_hatch, colorlist] = applyhatch_pluscolor(gcf,'\/',0,0,[],dpi,5,5);
imwrite(im_hatch,'test2.tiff','tiff', 'Resolution', dpi) % this file is too large.

Comment only
30 Sep 2009 Olivier Planchon

Olivier Planchon

This is a convenient workaround to create hatched graphichs.
input is a color graphic (either a matalb figure or an image file).
Output is a hatched graphic where each color area was changed into hatches.

I do not feel comfortable with the last two parameters (scales) because they are relative. Absolute line width and spacing would be better imho (perhaps this is possible and I missed something).

Updates
03 Jul 2011

Adding to the acknowledgements for the entire parent-child relationship of the function.

Contact us