MATLAB Answers

Change width on fitted line in function fitlm

30 ビュー (過去 30 日間)
Vlatko Milic
Vlatko Milic 2019 年 11 月 21 日
コメント済み: dpb 2019 年 11 月 22 日
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

  0 件のコメント

サインインしてコメントする。

採用された回答

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 件のコメント

表示 2 件の古いコメント
dpb
dpb 2019 年 11 月 21 日
TMW only set a value for 'DisplayName' on one of the two confidence bounds lines so wouldn't have duplicates in the legend box.
The two confidence lines are the last two in the array; you have to set both to change both. You can only set one handle at a time using dot notation; set() the function will let you do both in a single call.
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