matlab 填充斜线,请教一个关于柱状图的问题--填充采用斜线之类的,不能是颜色...
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
end
if ratiow*pwidth > bwidth
bigpattern(:,bwidth+1:end) = [];
end
bigpattern = repmat(bigpattern,[1 1 3]);
color = (bits(:,:,1) == colorval(1)) & ...
(bits(:,:,2) == colorval(2)) & ...
(bits(:,:,3) == colorval(3));
color = repmat(color,[1 1 3]);
bits(color) = bigpattern(color);
if ~isempty(colorlist)
[colors,colori] = nextnonbw(colori,colorlist,bits);
else
colors = (bits(:,:,1) ~= bits(:,:,2)) | ...
(bits(:,:,1) ~= bits(:,:,3));
end
colorind = find(colors);
pati = (pati + 1);
if pati > length(patterns)
pati = 1;
end
end
newfig = figure('units','pixels','visible','off');
imaxes = axes('parent',newfig,'units','pixels');
im = image(bits,'parent',imaxes);
fpos = get(newfig,'position');
set(newfig,'position',[fpos(1:2) figsize(3) figsize(4)+1]);
set(imaxes,'position',[0 0 figsize(3) figsize(4)+1],'visible','off');
set(newfig,'visible','on');
function [colors,out] = nextnonbw(ind,colorlist,bits)
out = ind+1;
colors = [];
while out <= size(colorlist,1)
if isequal(colorlist(out,:),[255 255 255]) | ...
isequal(colorlist(out,:),[0 0 0])
out = out+1;
else
colors = (colorlist(out,1) == bits(:,:,1)) & ...
(colorlist(out,2) == bits(:,:,2)) & ...
(colorlist(out,3) == bits(:,:,3));
return
end
end
%而applyhatch函數(shù)需要調(diào)用下面的函數(shù)
function A = makehatch(hatch)
%MAKEHATCH Predefined hatch patterns
%?? MAKEHATCH(HATCH) returns a matrix with the hatch pattern for HATCH
%??? according to the following table:
%?????? HATCH???????? pattern
%????? -------?????? ---------
%???????? /?????????? right-slanted lines
%???????? \?????????? left-slanted lines
%???????? |?????????? vertical lines
%???????? -?????????? horizontal lines
%???????? +?????????? crossing vertical and horizontal lines
%???????? x?????????? criss-crossing lines
%???????? .?????????? single dots
%
%?? See also: APPLYHATCH
%?? By Ben Hinkle, bhinkle@mathworks.com
%?? This code is in the public domain.
n = 6;
A=zeros(n);
switch (hatch)
case '/'
A = fliplr(eye(n));
case '\'
A = eye(n);
case '|'
A(:,1) = 1;
case '-'
A(1,:) = 1;
case '+'
A(:,1) = 1;
A(1,:) = 1;
case 'x'
A = eye(n) | fliplr(diag(ones(n-1,1),-1));
case '.'
A(1:2,1:2)=1;
otherwise
error(['Undefined hatch pattern "' hatch '".']);
end
總結(jié)
以上是生活随笔為你收集整理的matlab 填充斜线,请教一个关于柱状图的问题--填充采用斜线之类的,不能是颜色...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: M2版MacBook Pro迎来首拆:延
- 下一篇: java中针对数字怎么判断_java如何