Change width on fitted line in function fitlm

25 次查看(过去 30 天)
Hi,
I can't change the witdh on a fitted line based on X number of data points when I use fitlm-function. I am only able to change the width of the data points themselves.
Do you have any ideas?
The code is:
mdl=fitlm(T(Index,3),F);
plot(mdl)
title(strcat(subfoldernames))
Kind regards, Vlatko

采纳的回答

dpb
dpb 2019-11-21
Yeah, save the handles returned by plot for the linear model fit...
mdl=fitlm(T(Index,3),F);
hMDL=plot(mdl);
hFIT=findobj(hMDL,'DisplayName','Fit');
hFIT.LineWidth=1;
...
You can find this out by returning the handle array from plot and see that it is a four-handle array...and example here was
>> load carsmall % MATLAB sample data set
>> lm=fitlm(MPG,Weight); % fit a simple model
>> figure
>> hLM=plot(lm) % plot it, return handles array
hLM =
4×1 Line array:
Line (Data)
Line (Fit)
Line (Confidence bounds)
Line
>> hLM(2).LineWidth % the fit is the second handle in the arrray; query it
ans =
0.50
>> hLM(2).LineWidth=1; % set it to new value
>>
  5 个评论
Vlatko Milic
Vlatko Milic 2019-11-22
Thank you! However, I don't really follow the last line:" set() the function will let you do both in a single call".
What should I set?
dpb
dpb 2019-11-22
'linewidth' property
set(hLM(3:4),'LineWidth',1); % set both confidence lines same time
See doc set for details...

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by