2011-02-12 4 views
3

의가 나는 파일 "animals.txt"에 그릴 수 싶습니다 데이터가 있다고 가정 해 봅시다 :Gnuplot에서 포인트 유형이 다른 라벨을 어떻게 표시합니까?

cat 5.2 1.0 
cat 5.4 1.3 
cat 5.2 1.2 
dog 3.8 1.1 
dog 3.5 1.5 
dog 3.6 1.3 
giraffe 1.3 9.7 
giraffe 1.5 9.0 
giraffe 1.4 9.9 

내가 사용하는 레이블 산포도를 생성 할 수 있습니다

plot "animals.txt" u 2:3:1 w labels 

을 나는 또한 수 지점이 다른 지점 유형 또는 색상을 사용하도록

대신 (중복 수 있음) 라벨을 사용
plot "animals.txt" u 2:3 w points pointtype 3 

, 그것은 가능하다 : 같은 것을 사용하여 각 지점의 스타일을 다양 각 카테고리에 대해? 예를 들어 "cat"은 포인트 타입 3을 사용하여 빨간색으로, "dog"는 포인트 타입 4를 사용하여 파란색으로 표시됩니다. 내가 작업하고있는 파일에는 너무 쉽게 여러 가지 다른 레이블이 있습니다.

답변

2

나는 이것을 직접 할 방법이 없다고 생각합니다.

그러나 쉬운 해결 방법은 gnuplot의 인터페이스를 awk에 사용하는 것입니다. 그런 다음 각각의 동물에 하나씩 3 개의 그래프를 그릴 수 있습니다. 각 라인 사이의 유일한 차이점은 동물의 이름이기 때문에

plot "<awk '{ if($1 == \"cat\") print $2,$3 }' animals.dat" u 1:2 w points title "cat", \ 
    "<awk '{ if($1 == \"dog\") print $2,$3 }' animals.dat" u 1:2 w points title "dog", \ 
    "<awk '{ if($1 == \"giraffe\") print $2,$3 }' animals.dat" u 1:2 w points title "giraffe" 

, 당신이 더 나은 방법으로 스크립트 아마 수,하지만 당신은 아이디어를 얻을

+0

감사합니다! 저건 완벽 해. – Raghav

+0

이것은 천재 일뿐입니다. – darxsys

관련 문제