How to display graphically
    11 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    lech king
 el 22 de Nov. de 2020
  
    
    
    
    
    Comentada: Nora Khaled
      
 el 23 de Nov. de 2020
            Hello
I want the conditions of an issue to be graphically displayed at each step of the program. For example, in the case of a River crossing puzzle, I want to show which people (variables) are on which side of the river at each step.
Thanks
2 comentarios
  KSSV
      
      
 el 22 de Nov. de 2020
				What data you have? You can display that using plot with some markers color depending on people are on which side. 
Respuesta aceptada
  Nora Khaled
      
 el 22 de Nov. de 2020
        
      Editada: Nora Khaled
      
 el 22 de Nov. de 2020
  
      not sure this is what you had in mind ...
%Environment
envSize=4;
figure; 
x=-envSize:0.1:envSize;
y=.5*sin(x);
plot(y,x,'lineWidth',10)
axis([-envSize envSize -envSize envSize]);
hold on;
%Input 
left=[0 0 1 1 1 1 1];
right= [1 1 0 0 0 0 0 0];
% number of ppl 
nL=sum(left);
nR=sum(right);
%random position for ppl
maxX=envSize-1;
minX=2*max(y);
maxY=envSize-1;
minY=-(envSize-1);
pL = [-(minX + (maxX-minX) .* rand(nL,1)), (minY + (maxY-minY) .* rand(nL,1))]
pR = [(minX + (maxX-minX) .* rand(nR,1)) , (minY + (maxY-minY) .* rand(nR,1))]
% plot
scatter(pL(:,1),pL(:,2),'filled','SizeData',200)
alpha(.5)
scatter(pR(:,1),pR(:,2),'filled','SizeData',200)
alpha(.5)
the output looks like this

9 comentarios
  Nora Khaled
      
 el 23 de Nov. de 2020
				Sorry, I just realized... this just control the shape of the plot but does not mean that if a circle person moved from the left to the right that person will remain a circle.
If you want to  assosiated the shape with the person... try this 
shapes=['o' '+' 's' 'd' '.' '>' 'x' '*' '^'];
leftcounter=1;
rightcounter=1;
for i=1:1:nL+nR
    if left(i) ==1     
        scatter(pL(leftcounter,1),pL(leftcounter,2),shapes(i),'SizeData',200)
        alpha(.5)
        leftcounter=leftcounter+1;
    else
        scatter(pR(rightcounter,1),pR(rightcounter,2),shapes(i),'SizeData',200)
        alpha(.5)
        rightcounter=rightcounter+1;
    end
end
hope it helps.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Graphics Objects en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


