![Untitled.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/269472/Untitled.png)
2D color or surface plot based on 3 columns of data
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
N/A
am 2 Feb. 2020
Kommentiert: N/A
am 3 Feb. 2020
I want to do a 2D plot based on 3 columns of data (X,Y and Z) . X column show positions, y column show speed and z column show emissions. I guess first I should make meshgrid between x and y then show the z values on this 2D plot. I want to have a result like the bottom of this image. So the result will shows emissions as colors on x(position)-y(speed) axis. Can somebody help me about this?
![images.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/269471/images.jpeg)
0 Kommentare
Akzeptierte Antwort
Thiago Henrique Gomes Lobato
am 2 Feb. 2020
Ideally you should have a perfect grid and them you can do this kind of plot. In your case, however, you have only scattered values and some grid points are outside your domain, which means that to plot the whole domain you would have to extrapolate the data and even get very wrong results.
A better solution is to interpolate only between the points you have and then plot the result. You can do this by first triangulating the points and the use the trisurf function to do the plot. An example code can be seen below:
A = xlsread('LMS.xlsx');
T = delaunay(A(:,1),A(:,2)); % Triangulation
trisurf(T,A(:,1),A(:,2),A(:,3))
xlabel('x')
ylabel('y')
colorbar
shading interp
view(2)
![Untitled.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/269472/Untitled.png)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!