Plot produces blank figure.

55 views (last 30 days)
Taking a course and running through a very simple example, but my Figure opens with just a blank black image. The data looks like it is loaded properly into X and y. Any guidance would be great.
clear ; close all; clc
fprintf('Plotting Data ...\n')
data = load('ex1data1.txt');
X = data(:, 1); y = data(:, 2); m = length(y);
% Plot Data
plotData(X, y);
fprintf('Program paused. Press enter to continue.\n');
pause;
% Function %
function plotData(x, y)
figure;
plot(x, y, 'rx', 'MarkerSize', 10);
ylabel('Profit in $10,000s');
xlabel('Population of City in 10,000s');
end
  2 Comments
Adam
Adam on 9 May 2016
Have you stepped through with the debugger to look at x and y?
It's difficult to suggest anything as we don't have your data and nothing jumps out from the code to me as being blatantly wrong.
Also have you tried it without the 'pause' instruction? It may just be a case of the plot not being drawn yet because it is paused.
Walter Roberson
Walter Roberson on 9 May 2016
pause() triggers drawing so that is not the reason.

Sign in to comment.

Accepted Answer

David Rainbeau
David Rainbeau on 9 May 2016
I tracked this down to being a video card issue. Was led to this conclusion through http://www.mathworks.com/help/matlab/ref/opengl.html. When I changed from opengl hardware to opengl software, the plot worked properly.
Even though my Matrox M-9148 card only supports OpenGL 2.0 (not 2.1), once I update the drivers, the hardware works without having to rely on using software.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!