>  기사  >  백엔드 개발  >  효율적인 부품 마스터링 데이터 시각화 및 차트 유형

효율적인 부품 마스터링 데이터 시각화 및 차트 유형

Barbara Streisand
Barbara Streisand원래의
2024-10-30 06:20:27539검색

Streamlit Part Mastering Data Visualization and Chart Types

오늘날 빠르게 변화하는 데이터 과학 세계에서는 데이터를 효과적으로 시각화하는 것이 중요합니다. 숙련된 데이터 분석가이든 이제 막 시작하는 사람이든 다양한 시각화 기술을 익히면 통찰력을 전달하고 의사 결정을 내리는 능력을 크게 향상시킬 수 있습니다. 이 종합 가이드에서는 대화형 웹 애플리케이션을 만드는 데 널리 사용되는 Python 라이브러리인 Streamlit을 살펴보고 데이터 시각화를 위해 쉽게 만들 수 있는 12가지 강력한 차트 유형을 소개합니다. 간단한 막대 차트부터 고급 지리공간 시각화까지 이 튜토리얼에서 모든 내용을 다룹니다.


Streamlit 및 시각화 기능 소개

Streamlit은 데이터 과학자와 개발자가 데이터 시각화를 위한 대화형 웹 애플리케이션을 만드는 방식에 혁명을 일으켰습니다. 직관적인 API와 인기 있는 Python 라이브러리와의 원활한 통합을 통해 Streamlit을 사용하면 데이터 스크립트를 몇 분 안에 공유 가능한 웹 앱으로 변환할 수 있습니다. 이 가이드에서는 각기 다른 데이터 시각화 요구 사항에 맞게 조정된 다양한 차트 유형을 생성하는 Streamlit의 다양성에 중점을 둘 것입니다.


1. 면적 차트

영역형 차트 소개

영역형 차트는 시간 경과에 따라 또는 카테고리 전체에 걸쳐 누적 합계를 표시하는 데 적합합니다. 변화의 크기와 다양한 데이터 세트 간의 관계를 강조하므로 추세를 추적하고 여러 데이터 시리즈를 비교하는 데 적합합니다.

면적 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

사용 사례

  • 매출 증가: 분기별로 매출이 어떻게 증가하는지 시각화합니다.
  • 웹사이트 트래픽: 시간 경과에 따른 방문자 수를 추적하세요.
  • 누적 측정항목: 총 수익 또는 비용과 같은 누적 측정항목을 표시합니다.

사용자 정의 팁

  • 색상 조정: 브랜드나 선호도에 맞게 색상 매개변수를 수정합니다.
  • 제목 및 라벨 추가: 제목과 축 라벨을 추가하여 명확성을 높입니다.
  • 축 수정: 더 나은 데이터 표현을 위해 축의 크기나 범위를 조정합니다.

2. 막대 차트

막대 차트 소개

막대형 차트는 다양한 카테고리나 그룹을 비교하는 기본적인 방법입니다. 개별 데이터 포인트를 표시하는 데 매우 효과적이므로 다양한 범주에 걸쳐 수량을 쉽게 비교할 수 있습니다.

막대 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

사용 사례

  • 지역별 매출: 지역별 매출 수치를 비교해 보세요.
  • 상품 인기도: 다양한 상품의 인기도를 보여줍니다.
  • 설문조사 결과: 설문조사 질문에 대한 응답을 시각화합니다.

사용자 정의 옵션

  • 막대 색상: 예시에서는 기본 설정을 사용하지만 추가 매개변수를 사용하거나 데이터 전처리를 통해 막대 색상을 맞춤설정할 수 있습니다.
  • 방향: 가독성을 높이기 위해 막대 방향(가로 또는 세로)을 변경합니다.
  • 레이블 및 범례: 데이터에 더 많은 컨텍스트를 제공하려면 레이블과 범례를 추가하세요.

3. 선형 차트

꺾은선형 차트 소개

선형 차트는 시계열과 같은 연속 데이터에 대한 추세를 표시하는 데 탁월합니다. 변경 사항을 추적하고, 패턴을 식별하고, 동일한 간격에 걸쳐 여러 데이터 계열을 비교하는 데 도움이 됩니다.

꺾은선형 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

사용 사례

  • 주가: 시간 경과에 따른 주가 변동을 추적합니다.
  • 온도 변화: 날짜별 온도 변화를 모니터링합니다.
  • 웹사이트 방문 수: 몇 주 또는 몇 달 간의 웹사이트 트래픽 추세를 분석합니다.

사용자 정의 팁

  • 다중 선: y 매개변수에 추가 열을 지정하여 여러 선을 그립니다.
  • 선 스타일: 선 스타일(실선, 점선)을 조정하여 데이터 계열을 구분합니다.
  • 상호작용: 툴팁이나 호버 효과를 추가하여 정확한 값을 표시하여 상호작용을 강화하세요.

4. 지도

Streamlit 지도 소개

지리 데이터 시각화는 공간 분석에 매우 중요합니다. 이를 통해 지도의 데이터 포인트를 시각화하여 다양한 위치의 패턴, 핫스팟 및 분포를 식별할 수 있습니다.

지도 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

사용 사례

  • 매장 위치: 여러 매장이나 사무실의 위치를 ​​표시합니다.
  • 이벤트 핫스팟: 이벤트나 활동이 집중된 지역을 시각화합니다.
  • 인구통계 분포: 지역별 다양한 인구통계 그룹의 분포를 표시합니다.

사용자 정의 팁

  • 지도 중심 및 확대/축소: 지도의 중심과 확대/축소 수준을 조정하여 특정 영역에 초점을 맞춥니다.
  • 마커 미학: 다양한 데이터 차원을 나타내기 위해 마커 모양, 크기 및 색상을 맞춤설정하세요.
  • 상호작용: 툴팁이나 팝업을 추가하여 각 데이터 포인트에 대한 추가 정보를 제공합니다.

5. 분산형 차트

분산형 차트 소개

분산형 차트는 두 변수 간의 관계나 상관 관계를 식별하는 강력한 도구입니다. 이는 데이터 내에서 패턴, 추세 및 잠재적 원인을 찾는 데 도움이 됩니다.

분산형 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

사용 사례

  • 광고 vs. 매출: 광고비와 매출 간의 관계를 살펴보세요.
  • 키 vs. 몸무게: 개인의 키와 몸무게의 상관관계를 분석합니다.
  • 성과 지표: 제품이나 서비스의 다양한 성과 지표를 비교합니다.

사용자 정의 팁

  • 추세선: 추세선을 추가하여 데이터 내 상관관계나 추세를 강조하세요.
  • 포인트 크기 및 색상: 추가 변수에 따라 크기와 색상을 조정하여 데이터 포인트를 차별화합니다.
  • 상호작용성: 포인트 위로 마우스를 가져가면 자세한 정보를 표시하는 툴팁을 활성화하여 상호작용성을 강화합니다.

6. 알테어 차트

알테어 소개

Altair는 Python용 선언적 통계 시각화 라이브러리로, 간단하고 직관적인 구문으로 고급 차트 작성 기능을 제공합니다. 최소한의 코드로 대화형의 복잡한 시각화를 만드는 데 탁월합니다.

알테어 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

사용 사례

  • 탐색적 데이터 분석: 여러 변수 간의 관계를 조사합니다.
  • 대화형 대시보드: 사용자 입력에 반응하는 동적 시각화를 만듭니다.
  • 상세한 통계 시각화: 복잡한 데이터를 이해하기 쉬운 형식으로 제시합니다.

사용자 정의 팁

  • 패싯팅: 작은 배수를 만들어 다양한 데이터 하위 집합을 비교하세요.
  • 마크 유형: 다양한 시각 효과를 위해 선, 막대, 영역 등 다양한 마크 유형을 실험해 보세요.
  • 상호작용 요소: 선택, 필터 및 확대/축소를 통합하여 사용자 상호작용을 향상합니다.

8. 그래프비즈 차트

Graphviz 소개

Graphviz는 그래프 및 네트워크 다이어그램을 생성하는 도구로, 관계, 워크플로 및 조직 구조를 시각화하는 데 매우 유용합니다. 복잡한 연결을 명확하고 체계적으로 표현할 수 있습니다.

Graphviz 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

사용 사례

  • 소프트웨어 개발 파이프라인: 계획부터 배포까지 소프트웨어 개발 단계를 시각화합니다.
  • 조직 구조: 조직 내 계층 구조와 관계를 나타냅니다.
  • 결정 트리: 결정의 흐름과 가능한 결과를 보여줍니다.

사용자 정의 팁

  • 노드 모양 및 색상: 다양한 유형의 엔터티 또는 상태를 나타내도록 노드 모양과 색상을 맞춤설정하세요.
  • 가장자리 스타일: 가장자리 스타일(점선, 굵은 글씨)을 수정하여 다양한 유형의 관계 또는 종속성을 나타냅니다.
  • 그래프 레이아웃: 명확성을 높이기 위해 다양한 그래프 레이아웃(예: 계층형, 원형)을 탐색해 보세요.

9. 플롯 차트

플롯리 소개

Plotly는 대화형 및 출판 수준의 그래프를 생성하기 위한 강력한 라이브러리입니다. 다양한 차트 유형과 사용자 정의 옵션을 제공하므로 복잡한 데이터 시각화 및 대화형 대시보드에 적합합니다.

분포도 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Plotly Express를 사용하여 산점도 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

사용 사례

  • 분포 분석: 다양한 데이터 세트의 분포를 나란히 비교합니다.
  • 대화형 대시보드: 사용자 입력에 반응하는 동적인 대화형 시각화를 만듭니다.
  • 비교 분석: 다양한 테마와 스타일을 사용하여 데이터의 다양한 측면을 강조합니다.

사용자 정의 팁

  • 테마 조정: 애플리케이션 디자인에 맞는 다양한 테마를 탐색해 보세요.
  • 레이아웃 구성: 더 나은 프레젠테이션을 위해 여백, 범례, 축 제목과 같은 레이아웃 설정을 조정합니다.
  • 고급 차트 유형: 보다 복잡한 시각화를 위해 3D 플롯, 히트맵 및 기타 고급 차트 유형을 실험해 보세요.

10. 파이덱 차트

파이덱 소개

pydeck은 Deck.gl용 Python 인터페이스로, 고급 고성능 WebGL 기반 시각화를 가능하게 합니다. 복잡한 대화형 지리공간 시각화를 만드는 데 특히 유용합니다.

파이덱 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 3. Line Chart")

# Generate random data for the line chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create a line chart with the random data
st.line_chart(
    chart_data,
    x="col1",
    y="col2",
    color="col3",
)

st.write("#### 3.1 Basic Line Chart")

사용 사례

  • 지리공간 분석: 대규모 지리공간 데이터 세트를 시각화하여 패턴과 핫스팟을 식별합니다.
  • 도시 계획: 인구 밀도, 교통 흐름, 인프라 분포를 분석합니다.
  • 환경 연구: 오염 수준이나 야생동물 관찰과 같은 환경 데이터를 매핑합니다.

사용자 정의 팁

  • 다양한 레이어 유형: 다양한 시각 효과를 위해 ScatterplotLayer, ArcLayer 또는 PathLayer와 같은 다양한 레이어 유형을 실험해 보세요.
  • 지도 스타일: 다양한 지도 테마(예: 위성, 어두운 모드)를 사용하려면 map_style 매개변수를 변경하세요.
  • 상호작용: 도구 설명, 필터 및 동적 데이터 업데이트를 활성화하여 상호작용을 강화합니다.

11. 파이플롯 차트

Matplotlib의 pyplot 소개

Matplotlib는 Python의 기본 플로팅 라이브러리이며, pyplot은 정적, 애니메이션 및 대화형 시각화를 생성하기 위한 MATLAB과 유사한 인터페이스를 제공합니다. 사용자 정의가 가능하며 통계 데이터 분석 및 교육 목적으로 널리 사용됩니다.

히스토그램 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

사용 사례

  • 통계 분석: 데이터 세트의 분포를 시각화하여 패턴과 이상 현상을 식별합니다.
  • 교육 목적: 확률 분포 및 데이터 정규화와 같은 개념을 가르칩니다.
  • 데이터 탐색: 추가 분석을 수행하기 전에 데이터의 형태와 확산을 평가합니다.

사용자 정의 옵션

  • 제목 및 라벨: 제목, 축 라벨, 범례를 추가하여 맥락을 제공하세요.
  • 색상 및 스타일: 막대 색상, 가장자리 스타일, 전반적인 플롯 미학을 맞춤설정하세요.
  • 다중 히스토그램: 여러 히스토그램을 오버레이하여 다양한 데이터세트나 그룹을 비교합니다.
  • 고급 기능: 밀도 도표, 누적 분포 또는 주석을 통합하여 더 깊은 통찰력을 얻을 수 있습니다.

12. 베가 차트

Vega-Lite 소개

Vega-Lite는 유연성을 위해 Streamlit에 통합된 대화형 시각화를 만들기 위한 고급 문법입니다. 간결한 사양으로 정교하고 반응이 빠른 차트를 구축할 수 있으므로 광범위한 코딩 없이도 복잡한 시각화를 더 쉽게 만들 수 있습니다.

베가 차트 만들기

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

사용 사례

  • 정교한 대화형 시각화: 가리키기, 클릭, 선택과 같은 사용자 상호 작용에 반응하는 복잡한 차트를 만듭니다.
  • 데이터 탐색: 사용자가 데이터 세트를 동적으로 탐색하고 대화형 요소를 통해 통찰력을 얻을 수 있도록 합니다.
  • 복잡한 차트 삽입: 포괄적인 데이터 프레젠테이션을 위해 Streamlit 앱에 상세한 대화형 차트를 통합하세요.

사용자 정의 팁

  • 레이어 추가: 선, 막대, 영역과 같은 추가 레이어를 통합하여 시각화를 강화합니다.
  • 사용자 정의 배율 및 축: 배율, 축 제목 및 레이블을 조정하여 가독성과 프레젠테이션을 개선합니다.
  • 대화형 선택: 사용자가 특정 데이터 하위 집합에 집중할 수 있도록 대화형 선택 및 필터를 구현합니다.
  • 스타일링 및 테마: 색상, 글꼴, 전체 테마 설정을 맞춤설정하여 미적 감각을 강화하세요.

차트 유형 요약

이 튜토리얼에서는 Streamlit에서 사용할 수 있는 다양한 차트 유형을 다루었으며 각각은 다양한 데이터 시각화 요구 사항에 적합합니다.

  1. 영역 차트: 누적 합계 및 추세를 표시하는 데 적합합니다.
  2. 막대형 차트: 개별 카테고리나 그룹을 비교하는 데 적합합니다.
  3. 선형 차트: 시계열과 같은 연속 데이터의 변화를 추적하는 데 적합합니다.
  4. 지도: 지리적 데이터 시각화 및 공간 분석에 필수입니다.
  5. 분산형 차트: 변수 간의 관계 및 상관 관계를 식별하는 데 유용합니다.
  6. Altair Chart: 선언적 구문을 사용한 고급 대화형 시각화
  7. Graphviz Chart: 그래프 다이어그램을 통해 관계와 워크플로를 시각화합니다.
  8. Plotly Chart: 광범위한 사용자 정의가 가능한 대화형 및 출판 수준의 그래프.
  9. pydeck Chart: WebGL을 사용한 고성능 지리공간 시각화
  10. pyplot Chart: Matplotlib의 다양한 기능을 활용한 기본 플로팅
  11. Vega Chart: Vega-Lite 문법을 사용한 정교한 대화형 시각화

? 코드 받기: GitHub - jamesbmour/blog_tutorials
? 관련 Streamlit 튜토리얼:JustCodeIt
? 내 작업을 지원하세요: 커피 사주세요

위 내용은 효율적인 부품 마스터링 데이터 시각화 및 차트 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.