Change plot properties generated from a curve fitting

Hello,
I am trying to remove the markers and change the line properties from a plot made by rational fit. I tried different options such as Marker, none and Linestyle but it did not work. I have event tried h.Marker='none' and no success. Any idea how to solve this?
[fitresult, gof] = fit( xData, yData, ft, opts );
% h = plot( fitresult, xData, yData, 'Linestyle', 'none','Color','k', 'Marker',marker_style{i} );
h = plot( fitresult, xData, yData);
h.Marker = 'none';
Thanks

3 个评论

By the way, using h=plot( fitresult); gives me a wrong fitted plot and hence I have to use h = plot( fitresult, xData, yData);
I’m not at my computer right now, but can you access the properties you want from the property inspector dialog? Or are they within a "child" of h?

请先登录,再进行评论。

 采纳的回答

Since the object contains 2 lines try calling them specifically. For example:
h(1).Marker='none'
h(2).Color=[.5 .5 .5]

2 个评论

Thank you. This helps. However, I still see the lines and data in the legend. I am plotting 4 sets of data in a for loop, so I do not want to define specific handle for each plot to manipulating the legends. Could you help learn how to remove the line and 'fittted curve' from the legend? I waant to define legend later for markers ('data' here) so the text legend for markers should also be modified.
Capture.PNG
OK. I figured out to fix this issue by defining the figure handles in the loop as a cell array.
h{k} = plot( fitresult, xData, yData);
h{k}(1).Marker = marker_style{i};
h{k}(2).Color=[.5 .5 .5];
and out of the loop
legend([h{1}(1) h{2}(1) h{3}(1) h{4}(1)], legends_text{1},legends_text{2},legends_text{3},legends_text{4},'AutoUpdate','off')

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by