Open figure in editor instead of in new window

46 visualizzazioni (ultimi 30 giorni)
roberto
roberto il 1 Mar 2023
Modificato: roberto il 2 Mar 2023
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 Commenti
Jan
Jan il 1 Mar 2023
What is a "creatfit function"? What is a "relative figure"? How can a figure be opened in which editor?
Fake Name Johnson
Fake Name Johnson il 1 Mar 2023
Are you asking how to open a figure in docked mode?

Accedi per commentare.

Risposte (1)

DGM
DGM il 1 Mar 2023
Modificato: DGM il 1 Mar 2023
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 Commenti
DGM
DGM il 1 Mar 2023
Modificato: DGM il 1 Mar 2023
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.
roberto
roberto il 2 Mar 2023
Modificato: roberto il 2 Mar 2023
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

Accedi per commentare.

Categorie

Scopri di più su Smoothing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by