2012-02-08 2 views
1

단일 MarkerSize 지정이 가능한 두 라인 사양 (X, Y, linespec) 트리플렛과 (PropertyName, PropertyValue) 이중선을 사용하여 복수의 데이터 계열을 세우고,이 크기는 모든 데이터 계열에 적용 할 때. 예를 들어, MATLAB : 라인 사양 마커 크기

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',5) 

는 별도로 또는 이후에 데이터 계열을 플롯 플롯 핸들의 속성을 변경 의지하지 않고 서로 다른 데이터 계열의 각각에 대해 다른 MarkerSize을 지정할 수 있습니까? 다음 두 명령 중 어느 것도 유효하지만 그들이 원하는 결과의 아이디어 제공 :

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',[5 10]) 
plot(X1,Y1,'.b','MarkerSize',5,X2,Y2,'-r','MarkerSize',10) 

답변

2

시도 :

h = plot(X1,Y1,'.b',X2,Y2,'*r'); 
set(h(1),'MarkerSize',5); 
set(h(2),'MarkerSize',2); 
+0

감사 jonnat 루프 내에서 다른 플롯이다. 그게 효과가있다. 모든 것을 한 줄로 지정할 수 없다고 생각합니까? 건배. – user001

+0

나는 그것을하는 간단한 방법을 모른다. 누군가가 알고 있으면 듣고 싶습니다. – foglerit

2

당신은 scatter를 사용할 수 있습니다. 그것은 벡터 인 SizeData 속성을가집니다. 당신이 마커 선 그림을 사용하려면

x = rand(10,1); 
y = rand(10,1); 
s = scatter(x,y); 
set(s,'SizeData',linspace(1,100,10)) 

, 당신은, 당신의 음모를 그릴 hold on을 사용하고 그 위에 scatter을 그릴 수 있습니다.

+0

감사합니다. @ Andrey. 내 다른 데이터 시리즈 각각에 대해 다른 줄 속성을 선택할 수 있기를 원합니다. '줄거리'는 허용하지만 불행히도 '산만'하지는 않습니다. 예를 들어'x = 1 : 5; y = 6 : 10; z = 11 : 15; h = plot (x, x, 'ok', y, y, '또는', z, z, 'ob'); set (h, 'SizeData', [10 50 90])'이 좋겠지 만'plot'을위한'SizeData' 속성은 없습니다. 이상적으로는 "x"데이터, "50"- "y"데이터 및 "90"- "z"데이터에 크기 '10'을 적용하는 것이 좋습니다. – user001

0

는이를 위해 아마

plot(x1,0,'+','MarkerSize',10) 

하거나

plot(x?, 0, '+', 'MarkerSize', 10, 'MarkerEdgeColor', 'r') 
+0

다른 해결책에서 이것을 발견했습니다. – referer