2020년 12월 13일 일요일

plt scatter color in python ( python 에서 scatter plt 할때 color )

 

pyplot 를 이용하여 좌표에 그림을 그리게 되면 c 값에 때라서 색이 바뀌게 되는데 미리 알아 두면 좋을것 같아서 확인해 보았습니다.

즉, plt.scatter(x,x,c=x) 이와 같은 함수가 있을때 c값이 0 일때와 1일때 어떤 색상이 나올까?

처음에는 0 이면 노란색 1이면 갈색이 이런식으로 색상이 정해져 있는줄 알았는데 시험해보니 그렇게 동작하지는 않았습니다. 아래 테스트 코드를 확인 바랍니다.

import matplotlib.pyplot as plt
#https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.scatter.html
x = [ x for x in range(0,3)]
plt.scatter(x,x,c=x)
plt.show()
x = [ x for x in range(100,110)]
plt.scatter(x,x,c=x)
plt.show()


앞의 예제는 (0,0) c=0, (1,1) c=1, (2,2) c=2 0,1,2 색상이 특정 좌표에 나오도록 작성한 코드입니다.


c=0 일때 색상이 진보라색 색상을 띄며 c=1은 녹색 c=2는 노란색을 띕니다.

아래쪽 예제에서 c=100 ~ 109 까지 10개의 색상을 준비하였습니다. 어떻게 될까요?



예상과 다르게 scale만 달라졌을뿐 처음과 마지막 중간색이 같습니다.


정리하자면 c의 인자는 모든 값에 대해 색상이 다르게 설정되며 그 값은 미리 정의된 값이 아니라 scale되어 색상이 결정 됩니다.




















댓글 없음:

댓글 쓰기