2014-06-30 2 views
1

나는 내가하고 싶은 음모에 약간의 문제가있다.gnuplot : 변수 linewidth로 플롯하는 방법은 무엇입니까?

x, y, x + dx, y + dy, a와 같은 5 개의 열이있는 데이터 파일이 있다고 가정 해 보겠습니다.

화살표 두께가 a에 비례하는 벡터 필드를 플로팅하고 싶습니다. 그러나이를 수행하는 방법을 모르겠습니다. 각 구간 [0 : 5], [5:10] 등의 선 종류를 정의해야한다면 [0 : 100]에 속하는 방식으로 축척을 변경한다고 가정합니다. 열 함수를 사용해 보았지만 작동하지 않습니다.

C1 = 12

플롯 '데이터'U 3 : 4 : ($ 5 $ 3) ($ 6- $ 4) 벡터 LW 열 (C1)

(주 w 다음 용어가

) 열두 열에 내가이 명령 시도 :

플롯의 데이터를 'U 3 : 4 : ($ 5 $ 3) ($ 6- $ 4) : 12w 벡터 nohead arrowstyle 변수

+0

데이터 파일 및 작성한 코드 중 일부 데이터를 추가하십시오. –

답변

1

마지막으로 변수 화살표 스타일로 접근하면 좋을 것입니다. 다음 예제를 고려하십시오.

set samples 11 
set xrange [0:100] 
set for [i=1:101] style arrow i lw i/10.0 nohead 
unset key 
plot '+' using 1:1:(2):(10):($1+1) with vectors arrowstyle variable 

여기서 선 두께가 다른 100 개의 화살표 스타일을 정의했습니다. 버전 4.6.5와 그 결과는 해당 열 (12)의 범위 [1:101]에, 물론

set for [i=1:101] style arrow i lw i/10.0 nohead 
plot 'data' u 3:4:($5-$3):($6-$4):12 w vectors nohead arrowstyle variable 

당신이 있는지 확인해야합니다 사용하기에 충분해야한다 귀하의 경우에는

enter image description here

입니다. stats을 사용하여 열 12의 값 한계를 결정하고이 열의 값을 필요한 범위 [1:101]에 매핑하는 함수 map(x)을 작성할 수 있습니다.

+0

감사합니다, 그것은 나를 위해 작동합니다. – Moonpalacio

관련 문제