Setting colormap to lines from streamslice
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Aatresh Karnam
am 22 Jan. 2024
Kommentiert: Aatresh Karnam
am 24 Jan. 2024
Hi all,
I am trying to apply a colormap to a set of lines generated via streamslice.
The general approach seems to be to set all the lines to a single color through the following method:
h = streamslice(X,Y,Z,uData,vData,zData,[],[],[],5);
set(h,'Color','k');
All the streamlines are grouped in h and share the Primitive Line charateristics, hence the colormap property does not apply to them.
I have tried setting the colormap to the axis Color Order parameter before generating the streamlines but that seems to get overwitten by the default color order once I plot the streamlines. Although I use a 256 x 3 color space, the number of streamlines that are generated far exceeds this which means I cannot assign an individual color to each of the lines in h.
For context, the end result I wanted to achieve is something along the lines of the image below. Any help would be appreciated. Thanks a lot

2 Kommentare
vidyesh
am 22 Jan. 2024
MATLAB uses Hexadecimal Color Code which has 16,777,216 (256 x 256 x 256) possible colors.
Do the number of lines exceed this?
Akzeptierte Antwort
Taylor
am 23 Jan. 2024
You could just randomly generate the colors:
load wind
lineObj = streamslice(x,y,z,u,v,w,[],[],5,'noarrows');
for ii = 1:length(lineObj)
lineObj(ii).Color = [rand(1) rand(1) rand(1)];
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Color and Styling 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!
