본문 바로가기
재미로 하는 코딩

시각화 뽀개기10

by 헬푸밍 2023. 3. 16.

Properties of Mark objects(마크 객체의 속성)

Coordinate properties(좌표 속성)

x, y, xmin, xmax, ymin, ymax(x, y, x최소값, x최대값, y최소값, y최대값)

좌표 속성은 마크가 플롯 위에 그려질 곳을 결정한다. 표준적으로, x좌표는 수직 위치고 y좌표는 수평위치다. 몇몇 마크는  (min, max)와 같이 범위 매개변수화를 허용한다. 다른 마크틀은 x, y를 받지만 또한 범위를 보여주기 위해 baseline 파라미터를 사용한다. 레이어의 orient 파라미터는 작동하는 방식을 결정한다!

 

변수가 수치 데이터를 포함하지 않으면, 변수의 스케일은 데이터가 화면에 그려질 수 있도록 변환을 적용한다. 예를들면 명목 스케일은 정수 인덱스를 각각의 고유한 범주에 할당하고 시간 스케일은 참조하는 날짜로부터의 일수 개수로서 날짜를 표현한다!

연속적인 스케일은 데어터 값과 공간적 위치 사이 비선형 변환에 적용할 수도 있다.

 

Color properties(색상 속성)

color, fillcolor, edgecolor(색상, 채우기색상, 테두리색상)

모든 마크는 색상이 주어질 수 있고, 대부분의 마크는 마크의 테두리와 채우기 색상을 구분한다. 종종 간단하게 컬러를 사용하면 테두리 색상과 채우기 색상을 모두 설정하는 반면 더 구체적인 속성이 추가적인 조정을 하게 해준다.

컬러 속성이 매핑되면, 기본 팔레트는 스케일의 유형에 달려있다. 명목 스케일은 이산적인 순서가 없는 hue를 사용하는 반면, 연속적인 스케일(시각적 스케일을 포함)은 연속적인 변화도를 사용한다.

NOTE!

연속적인 스케일 기본값은 구별가능성을 높이기 위해 향후 버전에서 바뀔 예정이다!

 

컬러 스케일은 viridis, rocket, deep같은 팔레트 이름으로 매개변수화 된다. 단순한 변화도(ex : dark:blue)나 큐브헬릭스 시스템(ex : ch:start=.2,rot=-.4)을 포함한 몇몇 팔레트 이름은 파라미터를 포함할 수 있다. 적절한 팔레트 선택 가이드를 위해 color palette tutorial을 참조하자!

 

연속적인 스케일은 스케일이 보간해야 하는 컬러의 튜플로 매개변수화될 수 있다. 명목 스케일을 사용할 때는, 팔레트의 이름(필요한 경우 이산적으로 샘플링)이나 개별 컬러 값의 리스트나 데이터 값을 컬러에 매핑하는 딕셔너리를 사용할 수 있다!

 

개개의 컬러는 다양한 형식으로 지정할 수 있다! 다양한 형식은 현재 색상주기('C0'), 단일 문자('b'), 회색스케일 값('.4'), RGB 16진수 코드('#4c72b0'), X11 색상 이름('seagreen'), XKCD 색상 조사 이름('purpleish')에 대한 인덱신된 참조를 포함한다!

alpha, fillalpha, edgealpha(알파, 채우기알파, 테두리알파)

alpha 속성은 마크의 불투명도를 결정한다. 알파를 낮추면 오버플로팅의 에서 밀도를 표시하는데 도움이 될 수 있다!

중요성을 전달하고 두변수를 표현하기 위해 컬러 스케일과 결합할 수 있기 때문에 알파 속성을 매핑하는 것은 마크가 겹치지 않을 때에도 유용할 수 있다. 게다가 알파가 낮은 색상은 채도가 낮아보이는데... 더 큰 채워진 마크(바와 같은 것)의 형태를 향상시킬수 있다!

 

색상과 함께, 추가적인 조절을 위해 몇몇 마크는 edgealpha와 fillalpha속성을 별도로 정의한다!

Style properties(스타일 속성)

fill(채우기)

fill속성은 테두리와 내부 사이의 구별하는 마크 관한 것이고 내부가 보이는지 여부를 결정한다. 불값이라서 True나 False로만 설정할 수 있다!

marker(마커)

marker속성은 점마크와 몇몇 선 마크에 관한 것이다. 마커를 지정을 하는 API는 matplotlib API문서 matplotlib.markers에 나와있는 것처럼 아주 유연하다!

마커는 많은 간단한 문자열 코드를 사용해 지정할 수 있다!

marker속성은 (num_sides, fill_style, angle) 튜플을 사용해서 프로그램적으로 생성될 수도 있다!

mathtex 문자코드 ('$...$') 과 꼭지점 배열을 포함한 추가적인 형식을 보려면 matplotlib 문서를 참조하자!

marker속성은 항상 명목 스케일로 매핑된다. 다른 모양에 고유한 속성은 없다. 스케일이 제공되지 않으면, 플롯은 프로그램적으로 적절하게 큰 각기 다른 마커들의 집합을 생성한다.

마커를 다르게 하면... 모양이 기술적으로 구별되지만 대부분의 경우 단일 플롯에서 좀 많이 마커가 사용되는 경우 마커를 구분하기 어렵다는 점을 명심하자!

NOTE!

기본 마크 스케일은 식별력을 향상시키기 위해 향후 버전에서 변경될 수 있다!

linestyle, edgestyle(선, 테두리 스타일)

linestyle속성은 선 마크에 관한 것이고, edgestyle속성은 테두리를 가진 많은 마크에 관한 것이다. 두 속성 모두 온-오프 세그먼트(계속되다가 끊어졌다하는 선분) 측면에서 선의 대시를 결정한다!

대시는 작은 수의 약칭 코드('-', '--', '-.', ':')나 프로그램적으로 (on, off, ...) 튜플을 사용해 지정될 수 있다. 튜플명세에서 단위는 linewidth와 같다!

 

Size properties(크기 속성)

pointsize(점 크기)

pointsize속성은 개개의 데이터 점에 마커를 표시하는 점 마크와 선 마크와 관련이있다! 단위는 점으로된 마크의 지름과 일치한다.

pointsize는 기본값이 데이터의 제곱근으로 스케일을 조정하기 때문에 넓이보다는 지름규모로 표시된다!

10과 20을 보면 지름이 2배차이 나는 것을 확인할 수 있다!

linewidth(선 넓이)

linewidth 속성은 선 마크와 관련이 있고 선 굵기를 결정한다. 값은 음수가 아니어야 하고 포인트 단위이다!

edgewidth(테두리 넓이)

edgewidth속성은 linewidth속성과 유사하지만 선보다는 테두리나 채우기를 가진 점에 적용한다. 또 edgewidth속성은 스케일로 사용될 때 다른 기본 범위를 가지고 있다. 단위는 포인트단위이다!

stroke(획)

stroke속성은 edgewidth속성과 유사하지만 점 마크가 채우기 대신 획으로 정의될 때 쓴다. 살짝 다른 기본 스케일 범위가 있지만 다른 것들은 edgewidth와 비슷하게 작동한다.

 

Text properties(텍스트 속성)

halign, valign(수평정렬, 수직정렬)

halign과 valign 속성은 텍스트 마크의 수평, 수직 정렬을 제어한다! 수평 정렬의 선택지는 left, right, center가 있고... 수직 정렬의 선택지는 top, bottom, center, baseline, center_baseline이 있다!

fontsize(글자 크기)

글자크기 속성은 글자 마크의 크기를 조절한다. 값은 포인트 단위이다!

offset(변위차?)

offset속성은 글자 마크와 앵커 위치(글자가 닻을 내리는 위치..?, 즉 그래프 바로 위의 어느 위치 같다....)사이의 간격을 조절한다! center정렬을 사용하지 안을 때 적용되고(left, right, top, bottom 정렬을 사용할 때와 같이) 포인트 단위이다!

 

Other properties(나머지 속성)

text(텍스트)

텍스트 속성은 텍스트 마크의 내용을 설정하는데 쓰인다. 매핑되지 않고 항상 문자 그대로 사용되고 필요한 경우 문자열로 캐스트된다!

group(그룹)

그룹 속성은 마크의 외형에 대해 아무것도 바꾸지 않는 점에서 특별하지만 변환이 독립적으로 작동해야하는 추가 데이터 하위집합을 정의한다!


참고사이트

https://seaborn.pydata.org/tutorial/properties.html#

 

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

 

모든 이미지 출처도 위 사이트입니다!

'재미로 하는 코딩' 카테고리의 다른 글

시각화 뽀개기11  (0) 2023.03.19
다이아몬드 가격 예측해보기  (4) 2023.03.19
시각화 뽀개기9  (0) 2023.03.05
태블로를 사용한 스타벅스 매장정보 대시보드  (0) 2023.03.05
시각화 뽀개기9  (0) 2023.03.04

댓글