How can I have automatic marker shapes for multiple curves
조회 수: 28 (최근 30일)
이전 댓글 표시
I have N curves to plot and some of the points are exacty on top of one another. Since Matlab automatically choose the default colors of the curves you plot, I can't see the points under the other. If there was a way to have automatic default marker shapes, then I would be able to see the points under. The thing is the number of curves is an input I can vary, that's why I can't simply specify the shape of the markers for each curve.
댓글 수: 0
채택된 답변
Walter Roberson
2023년 8월 23일
The relevant documentation is at https://www.mathworks.com/help/matlab/ref/matlab.graphics.axis.axes-properties.html . Unfortunately what it implicitly indicates is, NO, there is no automatic marker choice.
What there is at the moment is LineStyleOrder, and the new (R2023a) LineStyleCyclingMethod, and ColorOrder, and a couple of related properties. That is, you can automatically cycle though line styles and you can cycle through colors; as of R2023a you can set it to cycle through both at the same time (each new line moves on to the next line style and next color).
When there are a number of lines close together, unfortunately line style and color are not always sufficient and you need markers too, but at present there is no facility for automatically cycling markers.
댓글 수: 0
추가 답변 (1개)
Dyuman Joshi
2023년 8월 23일
"The thing is the number of curves is an input I can vary, that's why I can't simply specify the shape of the markers for each curve."
That can be taken care of
makingPlots(16)
axis([0 11 -0.5 1.5])
%Making N plots
function makingPlots(N)
%Define markers to be used
markers = {'o','+','*','.','x','s','d','^','v','>','<','p','h'};
num = numel(markers);
%Random array with N columns
arr = rand(10,N);
figure
for k=1:N
val=rem(k,num)+num*(rem(k,num)==0);
plot(arr(:,k),'Marker',markers{val})
hold on
end
end
Also, instead of using the val I defined above, you can use
%1
num-rem(k,num)
%2
rem(k,num)+1
%3
randi(num)
And many other options. You can choose whatever order you want to use.
참고 항목
카테고리
Help Center 및 File Exchange에서 Labels and Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!