Plot 10100X3 matrix as a pixel plot.
15 views (last 30 days)
Show older comments
santiago canete
on 21 Dec 2017
Commented: Walter Roberson
on 22 Dec 2017
I have a dataset called matrix of size 10100X3. matrix(1) and matrix(2) are the x y coordinates respectively and the matrix(3) value determines the color of the pixel. This format is not working with the image() function. Any ideas on how I can make this work?
fileID1 = fopen('flipmatrix1.txt');
matrixx = fscanf(fileID1, '%f',[3,inf]);
matrixx = matrixx';
fclose(fileID1);
fileID2 = fopen('flipmatrix2.txt');
matrixy = fscanf(fileID2, '%f',[3,inf]);
matrixy = matrixy';
fclose(fileID2);
matrix = [matrixx; matrixy];
qA = matrix(:,1);
qB = matrix(:,2);
time = matrix(:,3);
image( qA, qB, time);
colorbar;
6 Comments
the cyclist
on 21 Dec 2017
You are missing my basic point. When I said you should upload representative data, I meant that you should post a sample that should give a result with similar characteristics to what you expect. With the data and the code you shared, I get a plot that looks like this ...

This is exactly the image that I would expect from such data. So, it is not illustrating the problem you are having. We still need more information to help you.
Accepted Answer
Walter Roberson
on 21 Dec 2017
imagesc(reshape(time, 101, 100));
After that you need to set your colormap() . Your current color values, stored in time, are scalar values in the range -4 to +30, rather than being RGB values, so to get black at the center and yellow outside you are going to need to use a colormap.
2 Comments
Walter Roberson
on 22 Dec 2017
If this problem is solved, please Accept the answer.
I used scatter() to verify that the points were close to being on a grid, and plot() to verify that the progression was regular rather than in random order; after that it was a matter of finding the right reshape() to use. There is a possibility that your points are not exactly on the grid: if that is important then you will need to either griddata() or use surface() or patch() with texture mapping.
Getting a good colormap appears to be the major challenge.
More Answers (0)
See Also
Categories
Find more on Data Distribution Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!