Create a filling between cftool prediction bounds

2 次查看(过去 30 天)
Hey there,
Not sure if it's even possible in Matlab, but since it's possible in other programs I'll ask :)
I have some data that I've fitted, and I've generated the code and I'm using this code to plot it:
fitresult = fit( xData, yData, ft, opts );
xFit = logspace(4,8,1000);
yFit = fitresult(xFit);
yPredict = predint(fitresult,xFit,0.683,'functional','off');
% Plot fit with data.
hold on
h = loglog(sample69_nv20_binw,sample69_nv20_bins,'rd',sample69_nv20_binw,sample69_nv20_bins,'r.',xFit,yFit,'r',xFit,yPredict,'r--');
This works well, but I would like to make the prediction area filled in light, transparent red color instead of marking the borders, similar to what you can see in the attached picture.
Is it possible? how so?

采纳的回答

Yoav Romach
Yoav Romach 2014-3-26
So I've found the quick way to do it and I'll add it for reference, but it's simplify calling "area" with the x and y data, much easier than patch or other methods:
fitresult = fit( xData, yData, ft, opts );
xFit = logspace(4,8,1000);
yFit = fitresult(xFit);
yPredict = predint(fitresult,xFit,0.683,'functional','off');
% Plot fit with data.
hold on
h = loglog(sample69_nv20_binw,sample69_nv20_bins,'rd',sample69_nv20_binw,sample69_nv20_bins,'r.',xFit,yFit,'r');
area(xFit,yPredict,'EdgeColor','none','FaceColor',[1 0.3 0.3]);
alpha(0.1);

更多回答(1 个)

Dishant Arora
Dishant Arora 2014-3-20
You haven't attached anything, as per my guess *fill* will do the job. See this:
X = rand(1,100);
Y = rand(1,100)+1;
fill([1:100 , fliplr(1:100)] , [X , fliplr(Y)] , 'r')
  3 个评论
Dishant Arora
Dishant Arora 2014-3-20
Transparency is only observed by image, surface, and, patch objects. So, use patch instead of fill. It's arguments are vertices of the polygon you want to fill.
Yoav Romach
Yoav Romach 2014-3-21
Hey, Thanks.
So I've managed to create the correct polygon using
patch([xFit;xFit],[yPredict(:,1)';yPredict(:,2)'],?)
But I'm having problem with getting the color right, it seems that no matter what I put instead of the ? it comes out black :(
I was also unable to get it transparent.
Can you help?
Thanks!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Fit Postprocessing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by