Plot 10100X3 matrix as a pixel plot.
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
santiago canete
le 21 Déc 2017
Commenté : Walter Roberson
le 22 Déc 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 commentaires
the cyclist
le 21 Déc 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.
Réponse acceptée
Walter Roberson
le 21 Déc 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 commentaires
Walter Roberson
le 22 Déc 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!