is it possible to increment color and markers automatically for a plot in a loop?
조회 수: 60 (최근 30일)
이전 댓글 표시
I want to use a loop to plot a series of datasets eg
for jj=1:numel(data)
plot(data{jj}(:,1),data{jj}(:,2),[Marker Color])
end
I'd like to know if there is a built-in function that I could use in my plot command so that Color and Marker are automatically incremented and that at the end of the day each dataset has a different marker/color.
I could do this
markers = {'+','o','*','.','x','s','d','^','v','>','<','p','h'}
and then access it this way:
markers{mod(i,numel(markers))+1}
and something similar for the colors but it's kind of ugly
any comments ?
댓글 수: 1
Ali
2017년 10월 29일
if true
--------------------------------------------------- code start
This is an example for your case
Input is "Input_Data", two dimension matrix
Marker_Counter=1;
figure6=figure;
Markers = {'+','o','*','x','v','d','^','s','>','<'};
for i=1:10:size(Input_Data,1)
TPR=Input_Data(i:i+9,7);
FPR=Input_Data(i:i+9,8);
plot(FPR,TPR,strcat('-',Markers{Marker_Counter}));
Marker_Counter=Marker_Counter+1;
hold on
end
plot([0.5 1],[0.5 1],'--');
legend('Minpts = 100','Minpts = 200','Minpts = 300','Minpts = 400','Minpts = 500','Minpts = 600','Minpts = 700','Minpts = 800','Minpts = 900','Minpts = 1000','','Location','SouthEast');
xlabel('FPR or (1-Specificity)','FontSize',12,'FontWeight','bold'); ylabel('TPR or Spensitivity)','FontSize',12,'FontWeight','bold');
title('ROC Space');
close(gcf);
-------------------------------------------- code end
end
--------------------------------------- picture link preview
채택된 답변
추가 답변 (3개)
Azzi Abdelmalek
2012년 9월 25일
편집: Azzi Abdelmalek
2012년 9월 25일
color='rmbc'
markers = '+o*.x'
t=0:0.1:10;y=sin(t);
plot(t,y,[markers(2) color(3)])
댓글 수: 0
Matt Fig
2012년 9월 25일
편집: Matt Fig
2012년 9월 25일
You can do this:
set(0,'DefaultAxesLineStyleOrder',{'+','o','*','.','x','s','d','^','v','>','<','p','h'});
Then look:
figure
x = 0:.01:1;
hold all
for ii = 1:10
plot(x,x.^ii)
end
You should see that the marker changes every time the line color cycles through the colors.
댓글 수: 1
Kaiqi Fang
2015년 3월 4일
It won't change the marker until the default color pool has been cycled through. From the following post, if you just use one color type,
set(0,'defaultaxescolororder',[0 0 0]);
, then you can let the marker change every time.
Bruno Melo
2019년 6월 20일
Try this function, it worked out for me...
https://www.mathworks.com/matlabcentral/fileexchange/52091-plot-with-linestyles-and-markers#feedbacks
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 View and Analyze Simulation Results에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!