figure won't come up after using plot

1,598 ビュー (過去 30 日間)
Craig
Craig 2011 年 5 月 15 日
コメント済み: Moch Yasin 2023 年 11 月 18 日
I am fairly new to MATLAB. In the past I've been able to plot with no trouble. A figure would automatically come up after I used "plot". Now when I plot, no figure appears. Here's a simple example:
>> x = 1:10;
>> y = 3*x;
>> plot(x,y)
>>
Nothing comes up after this - no error message, no figure. I'm hoping this involves something simple like changing a setting. It worked fine just a week or two ago.
I tried using the "plottools" command, but that just brings up a blank figure window. It also gives me the following message in the command window:
>> plottools
Warning: OpenGL appears to be installed incorrectly.
> In opengl at 150
In getplottool>createOrGetSelectionManager at 71
In getplottool at 58
In plottools at 148
>>
I should also mention that I have been remote accessing my office computer for the last week and I can't recall if this problem started before or after. Though I wouldn't think that would be the cause of the problem. Any help would be greatly appreciated.
  5 件のコメント
Joao Melo
Joao Melo 2016 年 7 月 7 日
Hello, could you solve this problem? I am having the same issue and I also started remotelly acessing my computer. How did you solve this? Thank you
Frederika Sefaj
Frederika Sefaj 2020 年 4 月 13 日
just write figure(1), or howerver your figure was called

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

採用された回答

Craig
Craig 2011 年 5 月 21 日
OK, I think I figured this out. When I start up MATLAB, I get this message and I'm guessing this has to due with the fact that I am remote accessing my office computer:
MATLAB only supports a screen depth of 16 or higher (Truecolor.)
MATLAB is running in headless mode. Figure windows will not be displayed.
  2 件のコメント
Carmel Auerbach
Carmel Auerbach 2021 年 7 月 31 日
So how is this solved? Im also accessing my computer remotely and cant see the content of the figures
Moch Yasin
Moch Yasin 2023 年 11 月 18 日
This work for me too. thank you very much.

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

その他の回答 (8 件)

Joao Melo
Joao Melo 2016 年 7 月 7 日
Ok, figured it out:
In one of the menus in the task bar there is one called plots (Home Plots Apps).
One the far rigth side, there are two options: Reuse figure or new figure.
1) Make sure it is in new figure 2) Restart Matlab 3) Your plot should open
  7 件のコメント
Arunima Sarkar
Arunima Sarkar 2021 年 4 月 18 日
Thank you JOAO..
michelle
michelle 2023 年 5 月 8 日
This worked for me, as well! Thank you!

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


Raady
Raady 2016 年 1 月 6 日
this answer helps when body checking this thread again.
if you are using the figure to plot in a loop, you have to use command as below , then you can see the figure.
drawnow;
  1 件のコメント
HABILA
HABILA 2018 年 2 月 23 日
I also had the issue on running my old code ploting figures on loop using hold on, earlier it was working fine in MATLAB2008 and MATLAB2011 but it wasn't showing plot while running the same code in MATLAB2015. Now adding the command drawline its working fine. don't know the exact reason why... still thank you !

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


Arturo Moncada-Torres
Arturo Moncada-Torres 2011 年 5 月 16 日
Have you tried opening a figure "by hand"?
noFigure = 1;
figure(noFigure);
x = 1:10;
y = 3*x;
plot(x,y);
Hope it helps ;-)!
  4 件のコメント
Arturo Moncada-Torres
Arturo Moncada-Torres 2011 年 5 月 16 日
This is a handler. A handler is a numerical identifier that makes reference to an object. With it, you can access and manipulate the object's properties. However, I think this is not what we are looking for.
Craig
Craig 2011 年 5 月 16 日
I did try figure(h) and that just gave me an error. It says it must be an integer and h = 174.0028.

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


Sean de Wolski
Sean de Wolski 2011 年 5 月 16 日
Are you on Macintosh?
I have problems with MATLAB figures hiding behind things, a major shortcoming of MacOSX in general.
I wrote a script fgcf.m that is literally
figure(gcf)
So in the event that I plot something and it appears on a hidden figure that figure is surfaced.
  2 件のコメント
Craig
Craig 2011 年 5 月 16 日
I am running MATLAB on a PC. I tried the command you suggested and it didn't bring anything up.
Sean de Wolski
Sean de Wolski 2011 年 5 月 16 日
Call Tech Support and/or reinstall...

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


Paulo Silva
Paulo Silva 2011 年 5 月 16 日
I had that problem in MATLAB 2008b for awhile, no clue what caused it and what fixed it, just put figure before the plot command.

Arturo Moncada-Torres
Arturo Moncada-Torres 2011 年 5 月 16 日
You could try:
x = 1:1 0;
y = 3*x;
gcf;
plot(x,y);
Give it a try ;-) !

Mike Majer
Mike Majer 2014 年 8 月 29 日
Thanks Arturo Moncada-Torres. I think the gcf line got it for me. What is gcf?
  1 件のコメント
Rick Pooler
Rick Pooler 2017 年 2 月 23 日
gcf - get current figure

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


Shubham Agrawal
Shubham Agrawal 2019 年 2 月 24 日
First of all there is no loop in your matlab script. You can use 'For' loop in this particular program.
Secondary thing is that you are not making any matrix which can store value of inputs and outputs.
I am pasting solution for your query. This thing is working.
k=0;
Y=[ ];
X=[ ];
for x=0:10
y=3*x;
k=k+1;
X(k,1)=x;
Y(k,1)=y;
end
plot(X,Y)
  1 件のコメント
Walter Roberson
Walter Roberson 2020 年 4 月 13 日
The user had
y = 3*x;
y will be a matrix that stores the appropriate values corresponding to the vector of x values.
There is no need at all to use a loop for this purpose; vectorization is perfectly fine.
The problem had nothing at all to do with this. The user was using remote access software that was interfering with being able to get the proper plots.

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

カテゴリ

Help Center および File ExchangeGraphics Performance についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by