다수의 점으로 표현된 그래프를 보다가... 만약 그 외곽선을 이어서 표현하고 싶다는 생각이 드신다면 scipy의 ConvexHull이라는 명령을 사용하시면 됩니다.
scipy.spatial의 ConvexHull을 import하면 됩니다. 일부러 실습용 데이터를 위 그림처럼 일반 리스트로 잡았습니다.
scatter로 한번 뿌려보았구요^^
그걸... scipy에서 사용할려고 numpy array로 각각의 리스트를 합쳤습니다.
몹시 심플하게.. 위 명령이면 끝납니다.^^
위의 코드의 for문을 적용하면 그림처럼 최외곽선을 그릴 수 있습니다.^^ 그런데.. for문 안에 있는 식이 약간 복잡해 보이죠...
그건... 위에서 살짝 풀어볼 수 있습니다. 일단 ConvexHull은 vertices로 구성되는 직선의 좌표를 얻을 수 있습니다.
또 혹은.. 위 for문 처럼.. simplices를 사용해서 그걸 대상인 points의 index로 사용해서 좌표를 얻을 수 있습니다.
최외곽선을 잡았을때의 넓이도 구해주네요~~~^^
반응형
'Software > Python' 카테고리의 다른 글
Python Jupyter notebook에서 출력화면에 진행 상태 안내바로 쓰기 좋은 tqdm (22) | 2017.08.07 |
---|---|
Jupyter Notebook 화면 조절 (폰트, 폰트 크기, 줄 간격) (32) | 2017.08.01 |
파일 시스템의 목록을 쉽게 읽어올 수 있는 glob 모듈 (22) | 2017.04.26 |
Python에서 시스템의 운영체제 확인하기 (12) | 2017.02.28 |
맥에서 matplotlib 한글 문제 해결하기 (14) | 2017.02.02 |
[Seaborn 연재] lmplot을 이용하여 회귀판단하기, 혹은 curve fitting하기 (10) | 2017.01.27 |
[Seaborn 연재] pairplot, jointplot, tsplot 익히기 (4) | 2017.01.25 |