> 백엔드 개발 > 파이썬 튜토리얼 > Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

WBOY
풀어 주다: 2022-04-21 18:08:55
앞으로
7651명이 탐색했습니다.

이 글은 데이터 시각화 처리를 위한 산점도, 꺾은선형 차트, 막대형 차트 등 Seaborn과 관련된 문제를 주로 소개하는 python에 대한 관련 지식을 제공합니다. 살펴보겠습니다. .

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

추천 학습: python 비디오 튜토리얼

1. seaborn 설치

설치:

pip install seaborn

I 가져오기:

seaborn을 sns로 가져오기


2. 데이터 준비

공식적으로 시작하기 전에 먼저 다음 코드를 사용하여 쉽게 표시하고 사용할 수 있도록 데이터 세트를 준비합니다.

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snspd.set_option('display.unicode.east_asian_width', True)df1 = pd.DataFrame(    {'数据序号': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],     '厂商编号': ['001', '001', '001', '002', '002', '002', '003', '003', '003', '004', '004', '004'],     '产品类型': ['AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC'],     'A属性值': [40, 70, 60, 75, 90, 82, 73, 99, 125, 105, 137, 120],     'B属性值': [24, 36, 52, 32, 49, 68, 77, 90, 74, 88, 98, 99],     'C属性值': [30, 36, 55, 46, 68, 77, 72, 89, 99, 90, 115, 101]    })print(df1)
로그인 후 복사

는 다음과 같이 데이터 세트를 생성합니다.

       Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


3. 배경 및 테두리


3.1 배경 스타일 설정

sns.set_style() 메소드는 스타일, 그리고 여기에 내장 스타일은 배경색을 사용하여 이름을 나타내지만 실제 내용은 배경색으로 제한되지 않습니다. ㅋㅋㅋ 흰색 흰색 배경

진드기 주위에 진드기가 있는 흰색 배경


sns.set() sns.set_style(“darkgrid”)

sns.set_style(“whitegrid”)
    sns.set_style(“dark”)
  • sns. set_style(“white”)
  • sns.set_style(“ticks”)
  •   그 중 sns.set()은 사용자 정의 스타일을 사용한다는 의미입니다. 매개변수가 전달되지 않으면 기본값은 회색 그리드입니다. 배경 스타일. set()이나 set_style()이 없으면 흰색 배경이 됩니다.
  •   가능한 버그: relplot() 메서드를 사용하여 그린 이미지에는 "틱" 스타일이 유효하지 않습니다.
  • 3.3 기타

seaborn 라이브러리는 matplotlib 라이브러리를 기반으로 캡슐화되어 있으며, 캡슐화된 스타일로 인해 우리의 드로잉 작업이 더욱 편리해집니다. matplotlib 라이브러리에서 일반적으로 사용되는 명령문은 seaborn 라이브러리를 사용할 때에도 여전히 유효합니다.

  글꼴 등 기타 스타일 관련 속성을 설정할 때 주의할 점은 이러한 코드가 sns.set_style() 뒤에 작성되어야 유효하다는 점입니다. 예를 들어, 글꼴을 굵게 설정하는 코드(중국어 왜곡 문자 방지):






plt.rcParams['font.sans-serif'] = ['SimHei']


 If 스타일이 뒤에 설정되어 있으면 설정된 글꼴이 설정된 스타일을 재정의하므로 경고가 생성됩니다. 다른 속성도 마찬가지입니다.


3.2 테두리 제어


sns.despine() 메서드

# 移除顶部和右部边框,只保留左边框和下边框sns.despine()# 使两个坐标轴相隔一段距离(以10长度为例)sns.despine(offet=10,trim=True)# 移除左边框sns.despine(left=True)# 移除指定边框 (以只保留底部边框为例)sns.despine(fig=None, ax=None, top=True, right=True, left=True, bottom=False, offset=None, trim=False)
로그인 후 복사

4. 산점도 그리기

seaborn 라이브러리를 사용하여 산점도를 그릴 수 있습니다. replot() 메서드를 사용할 수도 있습니다. 스캐터() 메소드를 사용하세요.
replot 메소드의 매개변수 종류는 기본적으로 'scatter'로 설정되어 있는데, 이는 산점도를 그리는 것을 의미합니다.

색상 매개변수는 색상으로 구분되는 이 1차원으로 표현됩니다.

① A 속성 값과 데이터 시퀀스 번호, 빨간색 분산점, 회색 그리드에 대한 산점도를 그리고 왼쪽과 아래쪽 테두리를 유지합니다.


sns.set_style('darkgrid')

plt.rcParams['font.sans-serif'] = ['SimHei']

sns.relplot(x='데이터 일련번호', y='속성값', data =df1, 색상 ='빨간색')
plt.show()

       


② A 속성 값과 데이터 시퀀스 번호에 대한 산점도를 그립니다. 산점은 다양한 제품 유형에 따라 다른 색상을 표시합니다.
흰색 그리드, 왼쪽 및 아래쪽 테두리:

sns.set_style('whitegrid ' )
plt.rcParams['font.sans-serif'] = ['SimHei']
sns.relplot(x='데이터 일련번호', y='속성값',hue='제품 유형', data =df1 )
plt.show()

       Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


③ A 속성, B 속성, C 속성 세 필드의 값을 서로 다른 스타일로 동일한 그래프에 플롯합니다(산점도 그리기), x축 데이터는 [0,2,4,6,8...]
틱 스타일(네 방향 모두의 프레임 선이 필요함)이고 글꼴은 이탤릭체

sns.set_style(' 진드기')
plt.rcParams['font.sans-serif'] = ['STKAITI']
df2 = df1.copy()
df2.index = list(range(0, len(df2)*2, 2) )
dfs = [df2['A 속성 값'], df2['B 속성 값'], df2['C 속성 값']]
sns.scatterplot(data=dfs)
plt.show()

      Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


5. 폴리선 그림 그리기

선 차트를 그리려면 seaborn 라이브러리를 사용하세요. replot() 메서드나 lineplot() 메서드를 사용할 수 있습니다.

5.1 replot() 메소드 사용

sns.replot()은 기본적으로 분산형 차트를 그립니다. 선 차트를 그리려면 매개변수 종류를 "line"으로 변경하면 됩니다.

요구 사항: A 속성 값과 데이터 일련 번호,
회색 그리드, 전역 글꼴은 기울임꼴로 구성된 선형 차트를 그리고 제목의 글꼴 크기, 2축 레이블,
및 좌표계 사이의 거리를 조정합니다. 및 캔버스 가장자리(글꼴이 완전히 표시되지 않기 때문에 거리가 설정됨):

sns.set(rc={'font.sans-serif': "STKAITI"})
sns. relplot(x='데이터 일련번호', y='속성값', data=df1, color='purple', kind='line')
plt.title("선 차트 그리기",fontsize=18)
plt.xlabel('num', 글꼴 크기=18)
plt.ylabel('속성 값', 글꼴 크기=16)
plt.subplots_adjust(왼쪽=0.15, 오른쪽=0.9, 아래쪽=0.1, 위쪽=0.9)
plt.show()

              Python의 Seaborn에 대한 자세한 설명(데이터 시각화)



요구 사항: 다양한 제품 유형(한 그림에 세 줄), 흰색 격자 스타일 및 기울임꼴 글꼴에 대한 A 속성 폴리라인을 그립니다.

sns.set_style("whitegrid")
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.relplot(x='데이터 일련 번호', y='A 속성 value ',hue='제품 유형', data=df1, kind='line')
plt.title("선 차트 그리기",fontsize=18)
plt.xlabel('num',fontsize=18)
plt.ylabel('속성 값', 글꼴 크기=16)
plt.subplots_adjust(left=0.15, right=0.9, Bottom=0.1, top=0.9)
plt.show()

          Python의 Seaborn에 대한 자세한 설명(데이터 시각화)



요구 사항: 동일한 그래프에 세 필드 A, B, C의 값을 서로 다른 스타일로 플롯합니다(선 차트 그리기). x축 데이터는 [0,2,4,6,8입니다. …]
Darkgrid 스타일(네 방향 모두의 프레임 선이 필요함), 글꼴은 기울임꼴이고 x축 레이블, y축 레이블 및 제목이 추가됩니다. 가장자리 거리가 적절합니다.

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
df2 = df1.copy()
df2.index = list(range( 0, len(df2)*2, 2))
dfs = [df2['A 속성 값'], df2['B 속성 값'], df2['C 속성 값']]
sns.relplot(data= dfs, kind="line")
plt.title("선형 차트 그리기",fontsize=18)
plt.xlabel('num',fontsize=18)
plt.ylabel('속성 값',fontsize= 16)
plt.subplots_adjust(왼쪽=0.15, 오른쪽=0.9, 아래쪽=0.1, 위쪽=0.9)
plt.show()

         Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


3
  여러 하위 플롯

가로 다중 하위 그래프 col

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.relplot(data=df1, x=" A 속성값", y="B 속성값", kind="line", col="제조업체 번호")
plt.subplots_adjust(left=0.05, right=0.95, Bottom=0.1, top=0.9)
plt. show()

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

세로 다중 하위 사진 행

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.relplot(data=df1, x="A 속성값", y="B 속성값", kind="line", row="제조업체 번호")
plt.subplots_adjust(left=0.15, right=0.9, Bottom= 0.1, top = 0.95)
PLT.SHOW ()

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


5.2 LINEPLOT() 메소드 사용

lineplot() 메소드를 사용하여 선 차트를 그립니다. 기타 사항은 기본적으로 동일합니다. 예시 코드는 다음과 같습니다.

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.lineplot(x=' 데이터 일련번호', y='속성값', data =df1, color='purple')
plt.title("꺾은선형 차트 그리기",fontsize=18)
plt.xlabel('num',fontsize= 18)
plt.ylabel('A 속성 값', 글꼴 크기= 16)
plt.subplots_adjust(left=0.15, right=0.9, Bottom=0.1, top=0.9)
plt.show()

       Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
df2 = df1.copy()
df2.index = list(range(0, len(df2)*2, 2))
dfs = [df2 ['A 속성 값'], df2['B 속성 값'], df2['C 속성 값']]
sns.lineplot(data=dfs)
plt.title("선 차트 그리기", 글꼴 크기=18)
plt.xlabel('num', 글꼴 크기=18)
plt.ylabel('속성 값', 글꼴 크기=16)
plt.subplots_adjust(왼쪽 =0.15, 오른쪽=0.9, 아래쪽=0.1, 위쪽=0.9)
plt.show()

        Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


6. sns.displot()을 그리려면 ) 방법이 사용됩니다 히스토그램을 그리는 것은

bins=6은 그림을 6개의 간격으로 나누는 것을 의미합니다.

Rug=True는 x축에 작고 얇은 관찰 막대를 표시하는 것을 의미합니다.

kde=True는 커널 밀도 곡선을 표시하는 것을 의미합니다

sns. set_style('darkgrid')
plt.rcParams['font.sans-serif'] = [ 'STKAITI']

sns.displot(data=df1[['C 속성 값']], bins=6, Rug=True , kde=True) plt.title("히스토그램", 글꼴 크기=18)
plt .xlabel('C 속성 값', 글꼴 크기=18)
plt.ylabel('수량', 글꼴 크기=16)
plt.subplots_adjust (왼쪽=0.15, 오른쪽=0.9, 아래쪽=0.1, 위쪽=0.9)
plt.show()


        

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

히스토그램을 그려 커널 밀도 곡선을 표시합니다.

sns.set_style('darkgrid')
plt.rcParams['font .sans-serif'] = ['STKAITI']

np.random.seed(13) Y = np.random.randn(300 )
sns.displot(Y, bins=9, Rug=True, kde=True )
plt.title("Histogram", 글꼴 크기=18)
plt.xlabel('C 속성 값', 글꼴 크기=18)
plt .ylabel('수량', 글꼴 크기=16)
plt.subplots_adjust(왼쪽= 0.15, 오른쪽=0.9, 아래쪽=0.1, 위쪽=0.9)
plt.show()


~ ~ ~ ~ 7. 막대 차트 그리기 barplot()

barplot()을 사용하여 막대 차트를 그립니다. 방법 Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

제품 유형 필드 데이터를 x축 데이터로 사용하고 A 속성 값 데이터를 y축 데이터로 사용합니다. 다양한 제조업체 번호 필드에 따라 분류합니다.
세부 내용은 다음과 같습니다.

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.barplot(x="제품 유형", y='속성 값', hue="제조업체 번호", data=df1)
plt.title("막대 차트", 글꼴 크기=18)
plt.xlabel('제품 유형', 글꼴 크기=18)
plt.ylabel('수량', 글꼴 크기 = 16)
plt.subplots_adjust(left=0.15, right=0.9, Bottom=0.15, top=0.9)
plt.show()

       Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


8.

선형 회귀 플롯 모델은 lmplot() 메서드를 사용합니다. 주요 매개변수는 x, y, 데이터입니다. 각각 x축 데이터, y축 데이터, 데이터 세트 데이터를 나타냅니다.

또한 위에서 언급한 것처럼 색상을 통해 분류 변수를 지정할 수도 있습니다.
col을 통해 열 분류 변수를 지정하여 가로 다중 하위 그래프를 그립니다.
행을 통해 행 분류 변수를 지정하여 세로 다중 하위 그래프를 그립니다. 각 행의 이미지는 col_wrap을 통해 제어할 수 있습니다.
하위 이미지의 높이는 크기를 통해 제어할 수 있습니다.
점의 모양은 마커를 통해 제어할 수 있습니다.

X 속성 값과 Y 속성 값에 대해 선형 회귀를 수행해 보겠습니다. 코드는 다음과 같습니다.

sns.set_style('darkgrid')

plt.rcParams['font.sans-serif'] = [ 'STKAITI'] sns.lmplot(x="A 속성 값", y='B 속성 값', data=df1)
plt.title("선형 회귀 모델", 글꼴 크기=18)
plt.xlabel(' A 속성 값' , 글꼴 크기=18)
plt.ylabel('B 속성 값', 글꼴 크기=16)
plt.subplots_adjust(left=0.15, right=0.9, Bottom=0.15, top=0.9)
plt.show( )

            

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


9. 커널 밀도 맵 그리기 kdeplot()

9.1 일반 커널 밀도 맵

합밀도 맵을 그리면 시료의 분포 특성을 보다 직관적으로 확인할 수 있습니다. 데이터. 커널 밀도 플롯을 그리는 데 사용되는 방법은 kdeplot() 방법입니다.

A 속성 값과 B 속성 값에 대한 커널 밀도 플롯을 그립니다.
주변 그림자를 표시하려면 음영을 True로 설정하고 그렇지 않으면 선만 표시합니다.

sns.set_style('darkgrid')

plt.rcParams['font.sans-serif'] = ['STKAITI'] sns.kdeplot(df1["A 속성 값"], Shade=True, data=df1, color='r')
sns.kdeplot(df1["B 속성 값"], Shade=True, data=df1, color='g')
plt.title("커널 밀도 플롯", 글꼴 크기 =18)
plt.
9.2 한계 커널 밀도 플롯


한계 커널 밀도 플롯을 그리는 데 sns.jointplot() 메소드가 사용됩니다. 매개변수 종류는 "kde"여야 합니다. 이 방법을 사용하면 기본적으로 어두운 스타일이 사용됩니다. 다른 스타일을 수동으로 추가하는 것은 권장되지 않습니다. 그렇지 않으면 이미지가 제대로 표시되지 않을 수 있습니다.

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)plt.rcParams['font.sans-serif'] = ['STKAITI']

sns.jointplot(x=df1["A 속성 값"], y=df1["B 속성 값"], kind=“kde”, space=0)
plt.show()

~ ~ ~

10 상자 그림을 그리려면 boxplot()

boxplot() 메서드를 사용합니다. 상자 그림을 그립니다.
기본 매개변수는 x, y, 데이터입니다.

Python의 Seaborn에 대한 자세한 설명(데이터 시각화) 또한 분류 필드를 나타내는

색상
캐비닛의 너비를 조정하는 너비

중간 캐비닛에 노치가 표시되는지 여부를 나타내는 노치가 있을 수 있으며 기본 False는 이를 표시하지 않습니다.

이전 섹션의 데이터 양이 표시할 만큼 크지 않기 때문에 여기에 또 다른 데이터 세트가 있습니다:



np.random.seed(13)
Y = np.random.randint(20 , 150, 360)
df2 = pd.DataFrame(
{'제조업체 번호': ['001', '001', '001', '002', '002', '002', '003', '003 ', '003' , '004', '004', '004'] * 30,

'제품 유형': ['AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC ', 'AAA' , 'BBB', 'CCC', 'AAA', 'BBB', 'CCC'] * 30,

'XXX 속성 값': Y } )


생성된 후 상자 그림 그리기를 시작합니다.

plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.boxplot(x='Product Type', y ='XXX 속성 값', data=df2)
plt.show()

        Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


x축과 y축 데이터를 교환한 후:

plt.rcParams['font.sans - serif'] = ['STKAITI']
sns.boxplot(y='제품 유형', x='XXX 속성 값', data=df2)
plt.show()

박스 플롯을 볼 수 있습니다 방향도 변경됩니다.

         Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


제조업체 번호를 분류 필드로 사용:

plt.rcParams['font.sans-serif'] = [' STKAITI']
sns.boxplot (x='제품 유형', y='XXX 속성 값', data=df2,hue="제조업체 번호")
plt.show()

hhh Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

Violin 플롯은 상자 그림과 커널 밀도의 기능을 결합합니다. 데이터의 분포 형태를 표시하는 플롯입니다.
바이올린 플롯() 메서드를 사용하여 바이올린 플롯을 그립니다.


plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.violinplot(x='제품 유형', y='XXX 속성 값', data=df2)

plt. show()


        

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)plt.rcParams['font.sans-serif'] = ['STKAITI']

sns.violinplot(x='XXX 속성 값', y='제품 유형' , data=df2)
plt.show()


      

Python의 Seaborn에 대한 자세한 설명(데이터 시각화)plt.rcParams['font.sans-serif'] = ['STKAITI']

sns.violinplot(x='제품 유형' , y='XXX 속성 값', data=df2,hue="제조업체 번호")
plt.show()


∣ ∣ ∣  

12 히트맵 그리기()Python의 Seaborn에 대한 자세한 설명(데이터 시각화)


이중 색상 공으로 상품을 획득하세요. 히트맵을 그리기 위해 숫자 데이터를 예로 들면, 여기의 데이터는 임의의 숫자로 생성됩니다.

pd로 팬더 가져오기 plt로 matplotlib.pyplot 가져오기

sns로 seaborn 가져오기

sns.set() plt.Figure(figsize=(6,6))
plt.rcParams['font.sans -serif'] = ['STKAITI']

s1 = np.random.randint(0, 200, 33)
s2 = np.random.randint(0, 200, 33)
s3 = np.random.randint( 0, 200, 33)
s4 = np.random.randint(0, 200, 33)
s5 = np.random.randint(0, 200, 33)
s6 = np.random.randint(0, 200, 33 )
s7 = np.random.randint(0, 200, 33)
data = pd.DataFrame(
{'1': s1,
'2': s2,
'3': s3,
'4': s4,
'five':s5,
'six':s6,
'seven':s7
}
)
 
plt.title('Double Color Ball Heat Map')
sns.heatmap(data, annot=True , fmt ='d', lw=0.5)
plt.xlabel('당첨 숫자')
plt.ylabel('이중 컬러 볼 번호')
x = ['1위', '2위', '3위 위치 비트', '4번째 비트', '5번째 비트', '6번째 비트', '7번째 비트']
plt.xticks(range(0, 7, 1), x, ha='left')
plt.show ()




        

추천 학습: python 비디오 튜토리얼Python의 Seaborn에 대한 자세한 설명(데이터 시각화)

위 내용은 Python의 Seaborn에 대한 자세한 설명(데이터 시각화)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿