How to plot 3D vectors on a 2D plot?

8 views (last 30 days)
Loren99
Loren99 on 24 May 2022
Edited: Loren99 on 25 May 2022
Hi everyone! I need to create a 2D plot where the elements that are at z = 1 must be at the same level of the elements at x and y but these elements along z must be highlighted against the background on x and y in order to be distinguished. How can I do it?
  1 Comment
Star Strider
Star Strider on 24 May 2022
Where are the data?
Uz = unzip('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1009395/Prova_test.zip');
Uz2 = [num2cell((1:numel(Uz))') Uz']
Uz2 = 120×2 cell array
{[ 1]} {'Prova_test/codice_opcode.asv' } {[ 2]} {'Prova_test/codice_opcode.m' } {[ 3]} {'Prova_test/Scenari/' } {[ 4]} {'Prova_test/Scenari/Nuovascena.stl' } {[ 5]} {'Prova_test/Subfunctions/' } {[ 6]} {'Prova_test/Subfunctions/matlab/' } {[ 7]} {'Prova_test/Subfunctions/matlab/deer.ply' } {[ 8]} {'Prova_test/Subfunctions/matlab/opcodemesh.m' } {[ 9]} {'Prova_test/Subfunctions/matlab/opcodemeshdemo.m' } {[10]} {'Prova_test/Subfunctions/matlab/opcodemeshmex.mexw64'} {[11]} {'Prova_test/Subfunctions/matlab/read_ply2.m' } {[12]} {'Prova_test/Subfunctions/opcode/' } {[13]} {'Prova_test/Subfunctions/opcode/CMakeLists.txt' } {[14]} {'Prova_test/Subfunctions/opcode/Ice/' } {[15]} {'Prova_test/Subfunctions/opcode/Ice/IceAABB.cpp' } {[16]} {'Prova_test/Subfunctions/opcode/Ice/IceAABB.h' }
.

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 24 May 2022
The solution likely varies depending on your data, but I would probably first look into using imagesc:
This way, the difference in Z is captured in the color displayed in the figure.
imagesc(new_x,new_y,hit);
  6 Comments
Loren99
Loren99 on 24 May 2022
@Cris LaPierre thank you very much for both the methods! Just a curiosity. In gscatter, is there a way to not plot the legend as well? because I need the clean image
Cris LaPierre
Cris LaPierre on 24 May 2022
Edited: Cris LaPierre on 24 May 2022
Yes. Use this syntax, where doleg is either 'on' or 'off'.
gscatter(x,y,g,clr,sym,siz,doleg)
You can't skip an input, so your code might look like this (empty brackets uses the default value)
gscatter(new_x,new_y,hit,[],[],[],'off');
You can explore these and other optional inputs in the linked documentation page.

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!