Open figure in editor instead of in new window

hello,
I've a creatfit function and I want to add the relative figure in editor , instead of launching a new window.
how fix it? tks

2 个评论

What is a "creatfit function"? What is a "relative figure"? How can a figure be opened in which editor?
Are you asking how to open a figure in docked mode?

请先登录,再进行评论。

回答(1 个)

If you're asking how to programmatically dock the figure, you can set its 'windowstyle' property.
In order to create a new empty figure, you can do this.
% create an empty docked figure
figure('windowstyle','docked')
At which point, you could plot in it as usual.
You could also set the property of a figure after the fact.
% just put something in a figure
inpict = imread('cameraman.tif');
imshow(inpict)
% dock the figure
set(gcf,'windowstyle','docked') % or use a specific fig handle

3 个评论

yes indeed I meant docked mode. "creatfit" is a function created by Matlab with "export script" from curve fitting app. so when i launch creafit(namefile) it opens a window with a plot.
I tried both with creatfit(namefile);figure('windowstyle','docked')
but it keeps popping out a window, which with creatfit(namefile);set(gcf,'windowstyle','docked')
but the window appears and disappears right after. what is the solution? Thank you
The exported script creates a new figure, so it won't use any figures created before or afterward. Unless you modify the script, you'll have to set the properties of the new figure after the script creates it.
It works for me when I either do
[fr gof] = createFit(x,y)
set(gcf,'windowstyle','docked')
or alternatively, if I modify the script:
% ...
% Plot fit with data.
figure( 'Name', 'untitled fit 1' , 'windowstyle','docked');
% ...
I think what might be happening is that there is no expected location for the docked figure. You might try docking an empty figure first so that MATLAB knows where you want the docked figure to go.
That said, I'm using R2019b, and lots of things have changed since.
this is the function. I've tried both way but doesn't work. it still launch a popup window
function [fitresult, gof] = createFit1(close)
%CREATEFIT1(RESPONSE)
% Create a fit.
%
% Data for 'untitled fit 1' fit:
% Y Output: response from tbl
% Output:
% fitresult : a fit object representing the fit.
% gof : structure with goodness-of fit info.
%
% See also FIT, CFIT, SFIT.
% Auto-generated by MATLAB on 02-Mar-2023 08:28:02
%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( [], response );
% Set up fittype and options.
ft = fittype( 'poly3' );
opts = fitoptions( 'Method', 'LinearLeastSquares' );
opts.Normalize = 'on';
opts.Robust = 'Bisquare';
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
set(gcf,'windowstyle','docked') %first try (doesn't work)
% Plot fit with data.
figure( 'Name', 'untitled fit 1' , 'windowstyle','docked'); %second try (doesn't work)
h = plot( fitresult, xData, yData, 'predobs' );
legend( h, 'close', 'untitled fit 1', 'Lower bounds (untitled fit 1)', 'Upper bounds (untitled fit 1)', 'Location', 'NorthEast', 'Interpreter', 'none' );
% Label axes
ylabel( 'response', 'Interpreter', 'none' );
grid on

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

标签

提问:

2023-3-1

编辑:

2023-3-2

Community Treasure Hunt

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

Start Hunting!

Translated by