Gnuplot 포인트 주위에 테두리 그리기

Gnuplot 포인트 주위에 테두리 그리기

에 설명된 대로 Gnuplot을 사용하여 점을 플로팅하고 있습니다.이 기사. 예를 들어:

도트 플롯 예

그러나 각 점 주위에 검은색 테두리를 그리고 싶습니다. 위의 예에서 정사각형, 원, 삼각형에는 검은색 윤곽선이 있어야 합니다.

내 라인 정의는 다음과 같습니다

set style line 1 linecolor rgb '#ebac23' pointtype 5 pointsize 2

그러나 이러한 정의에는 선택의 여지가 없는 것 같습니다 border. 이것을 달성하는 올바른 방법은 무엇입니까?

답변1

테두리 옵션을 찾을 수 없습니다. 해결 방법으로 점을 두 번 플롯할 수 있습니다. 처음에는 검정색 모양을 사용하고 두 번째에는 원하는 색상의 약간 작은 모양을 사용합니다.

unset key

set xrange [0.6:3.4]
set yrange [0:3]

# Square
set style line 1 linecolor rgb '#000000' pointtype 5 pointsize 3
set style line 2 linecolor rgb '#ebac23' pointtype 5 pointsize 2

# Circle
set style line 3 linecolor rgb '#000000' pointtype 7 pointsize 3
set style line 4 linecolor rgb '#ebac23' pointtype 7 pointsize 2

# Triangle
set style line 5 linecolor rgb '#000000' pointtype 9 pointsize 3
set style line 6 linecolor rgb '#ebac23' pointtype 9 pointsize 2

plot "<echo '1 2'"   with points ls 1, \
     ""              with points ls 2, \
     "<echo '2 1'"   with points ls 3, \
     ""              with points ls 4, \
     "<echo '3 1.5'" with points ls 5, \
     ""              with points ls 6

여기에 이미지 설명을 입력하세요.

불행하게도 이 삼각형은 별로 옳지 않은 것 같습니다. 두 삼각형의 중심이 완벽하게 정렬되지 않은 것 같습니다. 그래도 아마 그 정도면 충분할 것 같아요. 그렇지 않다면 다이아몬드나 오각형 모양이 더 보기 좋으므로 시도해 볼 수 있습니다.

답변2

이를 위해 이를 "남용"할 수 있지만 boxxyerrorbars데이터를 복제해야 합니다. 아래에서는 데이터를 블록으로 반복합니다. boxxyerrorbars4개의 숫자, x, y 위치, 너비 및 높이가 필요합니다. 각 방향의 데이터 규모에 맞게 선택해야 합니다.

set xrange [0:3.5]
set yrange [0:3]
set style line 1 linecolor rgb 'blue' pointtype 5 pointsize 2
set style line 2 linecolor rgb 'blue' pointtype 7 pointsize 2
set style line 3 linecolor rgb 'blue' pointtype 9 pointsize 2
plot '-' w p ls 1 notitle, \
 '-' w p ls 2 notitle,  \
 '-' w p ls 3 notitle, \
 '-' using 1:2:(.08):(.1) with boxxyerrorbars black notitle
1 2
e
2 1
e
3 1.5
e
1 2
2 1
3 1.5
e

gnuplot 이미지

관련 정보