Plot 10100X3 matrix as a pixel plot.
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
santiago canete
el 21 de Dic. de 2017
Comentada: Walter Roberson
el 22 de Dic. de 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 comentarios
the cyclist
el 21 de Dic. de 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.
Respuesta aceptada
Walter Roberson
el 21 de Dic. de 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 comentarios
Walter Roberson
el 22 de Dic. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Distribution Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!