다변량 그래프 무엇인지 모르겠다? 다시 보고와라.
https://dev-adela.tistory.com/96
pandas / matplotlib 그래프 그리기(종류)
- seaborn 라이브러리의 tips 데이터 집합 > 어떤 식당에서 팁을 지불한 손님의 정보를 모아둔 것 1. 히스토그램 : 데이터프레임의 열 데이터 분포와 빈도를 살펴보는 용도로 자주 사용하는 그래프
dev-adela.tistory.com
1. 바이올린 그래프 그리기 - 색상 추가
violinplot 메서드에 hue 인잣값으로 색상에 사용할 열 이름을 추가




▶ 그래프 중앙에 하얀색 점이 중앙값. 값을 길게 뽑아서 최소값, 최대값이 그려져 있다.
2. 산점도, 관계 그래프 그리기 - 색상 추가




3. 산점도 그래프의 크기와 모양 조절하기
크기를 다르게 해서 그리는건 버블차트(Bubble chart)라고 한다.
>> 2차원 그래프이지만 2차원 이상의 것을 표현할 수 있음
scatter_kws 에 딕셔너리 형태로 인잣값 전달. 스칼라값을 넣어줘야한다는데...!

책에는 scatter_kws = {'s' : tips['size']*10} 이라고 나와있는데....... 아니자꾸 스칼렛값이나 x랑 y랑 유사한값을 주라는데..............................................
<ValueError: s must be a scalar, or float array-like with the same size as x and y >
이런 밸류에러..!
그래서 하 대체 x랑 y랑 같은 사이즈의 배열이 먼데 ㅎ 대체 책에서 언급한 tips['size']에는 뭐가 있는데 ㅎ
싶어서 뽑아봤는데

음 정수인데 스칼렛 아닌가ㅎ... 근데 왜 ... x랑 y랑 같은 사이즈가 아닌가 하다가 그냥 숫자를 줘버렸다
10으로 줬더니 너무 째깐해서 100으로 줬더니 엄청 커짐

그래서 알아본 markers 와 컬러 등등 옵션들이 뭐가 있을까 분명 matplotlib처럼 있겠지 싶어 알아봤다
https://seaborn.pydata.org/tutorial/properties.html?highlight=marker
Properties of Mark objects — seaborn 0.12.2 documentation
Properties of Mark objects Coordinate properties x, y, xmin, xmax, ymin, ymax Coordinate properties determine where a mark is drawn on a plot. Canonically, the x coordinate is the horizontal positon and the y coordinate is the vertical position. Some marks
seaborn.pydata.org
구래,,, 더 이쁘게 만들고 싶을때 사용하자
< 추가로 교수님과 수업시간에 한거>
- 이런식으로 size도 넣을 수 있다. scatter_kws 랑 뭐가 다른걸까,,!


5. Impolt 메서드로 4개의 데이터 그룹에 대한 그래프 한번에 그리기
fit_reg 는 회귀선의 유무를 지정..!
>>> 자 다시 기억해보자 remember............................. 앤서콤은 어쩌구블라블라 해서 4개의 데이터를 가지고 있지만 평균이나 기타 등등 뭐시깽이는 비슷하지만 그래프를 그렸을때는 각기 다르게 나오고 그러므로 통계적인 내용들이 동일하다고해도 어쩌구저쩌구 .. 자세한건 여기서 https://dev-adela.tistory.com/95

▼ 그래프 자세히 보면 4개의 데이터가 같이 붙어있다 어떻게 나눌까


- 바로바로 impolt 메서드에 추가로 col이랑 col_wrap 인자를 설정하면 됨.
col_wrap 에는 그릴 열의 최대값, col에는 데이터 그룹을 구분할 열을 지정함!
(col_warp 숫자 조절하면 한줄로 쭉 으로도 나오고 길게 쫙 도 나오고 한다 )
다시한번 살펴보면... 앤스콤에는 이런 데이터가 되어있다

dataset에 I 와 II , III , IV 이렇게 4개로 나누어져있다..!
그래서 dataset 을 기준으로 col을 나눈 다음에 나눠지는 분류에 따라 그래프 수가 나오기 때문에 col_wrap을 통해 적절하게 그래프 정리
anscombe_plot = sns.lmplot(x='x', y='y', data=anscombe, fit_reg=False, col='dataset', col_wrap=2)

자 맷플롯립으로 그렸던거랑 비슷한 그래프들이 나왔따 (모양만 같으면돼따)

6. 히트맵 :
여러가지 변수를 한 번에 비교하고 싶을때, 사용하는 시각화 방법, 격자를 나누는 형태이기 때문에 x축과 y축에 설정되는 값이 실수형 데이터는 사용되지 않는다.
▶ 일단 데이터 가공하고(피벗시킨다)

▷ 그런데 소수점과 NaN도 있어서 값 연산을 변경하고 싶다면 aggfunc 속성을 사용하면 됨.

그리고 그려본 히트맵.


그런데 NaN(결측치)는 흰색으로 나온다. 결측치를 제외하고 size가 클수록 큰값을 갖는다.
그래서 NaN을 0으로 해주고 (검정색으로나올것) 그려봄


▶ annot = True로 하게 되면 데이터의 값도 함께 나온다 (annotation 의 약자)


▷ 데이터 내용 바꿔서 다시 그릴수도 있음(그래프는 생략)

▷ 데이터를 좀 수정해서 만들어야할수도있기 때문에 다시한번 복습하자 피벗테이블
'데이터분석 > Matplotlib &Seaborn' 카테고리의 다른 글
| matplotlib 그래프 그리기 디테일한 부분 모음모음 (0) | 2023.07.03 |
|---|---|
| matplotlib 그래프 그리기 이것저것 추가 내용 (0) | 2023.06.30 |
| seaborn 활용해 그래프 그리기 (0) | 2023.06.19 |
| pandas / matplotlib 그래프 그리기(종류) (0) | 2023.06.18 |
| pandas/matplotlib/seaborn 앤스콤 4분할 그래프 (0) | 2023.06.18 |