반응형
반응형

Plotly를 사용한 게이지 차트 (Gauge Chart) 생성 예제 (Python Code)

 

Plotly Tutorial - 파이썬 시각화의 끝판왕 마스터하기 https://wikidocs.net/book/8909

 

https://plotly.com/python-api-reference/plotly.graph_objects.html

 

plotly.graph_objects: low-level interface to figures, traces and layout — 6.3.0 documentation

plotly.graph_objects: low-level interface to figures, traces and layout plotly.graph_objects contains the building blocks of plotly Figure: traces (Scatter, Bar, …) and Layout >>> import plotly.graph_objects as go Figure Figure([data, layout, frames, 

plotly.com

Plotly는 인터렉티브한 시각화가 가능한 파이썬 그래픽 라이브러리 입니다. 기본적인 시각화부터 통계, 재무, 지리 과학 및 3-dimensional 을 포함한 40개 이상의 차트 타입을 제공하는 오픈소스 입니다. 기본적으로 쥬피터 노트북에 시각화가 가능하며 인터렉티브한 dashboards 위해 Dash 또는 Chart Studio와 같은 라이브러리와 통합 및 확장이 가능합니다.

 

특징

  1. Interactive 한 시각화 가능하여 사용자가 시각화된 그래프를 쉽게 줌인, 줌아웃 및 툴팁을 활용한 데이터확인이 가능합니다. (Matplotlib/Seaborn 과의 가장 큰 차이점)
  2. Dash, 및 chart Studio 와같은 visualisation tools 연동으로 Web 및 application 통해 확인이 가능합니다.
  3. matplotlib 대비 코드가 훨씬 간편합니다.(이 책을 통해 익숙해진다면..)
  4. Python 뿐만 아니라 R, Julia, MATLAB 등과 같은 다른 프로그래밍 언어를 스크립트를 사용하여 이용이 가능합니다.
  5. Plotly는 기본적으로 JSON(JavaScript Object Notation) 형태를 주고받는 구조로 되어있습니다. 하지만 걱정 하실필요 없습니다. 본 책에서는 복잡한 JSON 형태가 아닌 직관적인 객체를 사용하는 방법으로 진행할 예정입니다.
  6. Matplotlib 차트를 Plotly 차트로 변화나는 기능이 지원됩니다.
  7. Pandas와의 호환 기능이 추가되어 판다스 plotting 백엔드에 Plotly를 설정하면 Padas 데이터프레임에서 바로 Plotly 로 시각화가 가능합니다.
  8. 기본적인 색감이 매우 이쁩니다.(개인적인 취향)
  9. 라이센스가 무료 입니다.

 

 

 

"""
    pip install plotly
    Plotly를 사용한 게이지 차트 (Gauge Chart) 생성 예제 (Python Code)
"""

import plotly.graph_objects as go
import plotly.offline as pyo

# --- 게이지 차트 데이터 설정 ---
value = 75  # 현재 값 (예: 판매 목표 달성률 75%)
max_value = 100 # 최대 값
title_text = "판매 목표 달성률"
unit_text = "%"

# --- Plotly Indicator 객체 생성 ---
fig = go.Figure(go.Indicator(
    mode = "gauge+number+delta", # 게이지, 숫자, 델타(변화량)를 표시
    value = value,
    number = {'suffix': unit_text}, # 숫자 뒤에 단위 표시
    domain = {'x': [0, 1], 'y': [0, 1]},
    title = {'text': title_text, 'font': {'size': 24}},
    
    # --- 게이지 설정 ---
    gauge = {
        'shape': "angular", # 게이지 모양 (angular: 원형, bullet: 수평 막대)
        'axis': {'range': [None, max_value], 'tickwidth': 1, 'tickcolor': "darkblue"},
        'bar': {'color': "darkblue"}, # 현재 값 막대의 색상
        'bgcolor': "white",
        'borderwidth': 2,
        'bordercolor': "gray",
        
        # --- 구간별 색상 설정 (Thresholds) ---
        'steps': [
            {'range': [0, 50], 'color': "lightgray"},   # 0% ~ 50%
            {'range': [50, 85], 'color': "lightblue"},  # 50% ~ 85%
            {'range': [85, 100], 'color': "yellowgreen"} # 85% ~ 100% (목표 근접/달성)
        ],
        
        # --- 목표선 설정 (Threshold) ---
        'threshold': {
            'line': {'color': "red", 'width': 4},
            'thickness': 0.75, # 목표선의 두께
            'value': 90 # 목표 값 (예: 90%)
        }
    }
))

# --- 레이아웃 설정 ---
fig.update_layout(
    paper_bgcolor = "white", # 배경 색상
    font = {'color': "black", 'family': "Arial"},
    margin = dict(l=20, r=20, t=50, b=20) # 여백 설정
)

# --- 차트 출력 (브라우저에서 확인) ---
# pyo.plot(fig, filename='gauge_chart.html')

# --- (선택 사항) Notebook 환경에서 출력 ---
fig.show()
반응형
반응형

NetworkX1는 Python 프로그래밍 언어를 위한 복잡한 네트워크 구조를 생성, 조작, 분석, 모델링, 시각화, 그리고 저장하기 위한 강력한 라이브러리입니다. 사회 네트워크, 웹의 링크 구조, 인프라 네트워크, 과학 연구에서의 상호작용 등 다양한 유형의 네트워크를 다룰 수 있습니다. NetworkX는 데이터 구조로 그래프를 제공하며, 이 그래프는 노드와 엣지(간선)로 구성되어 있습니다.

 

주요 특징

  1. 다양한 그래프 타입 지원: 방향성이 있는 그래프(Directed Graphs), 방향성이 없는 그래프(Undirected Graphs), 다중 그래프(MultiGraphs) 등 다양한 유형의 그래프를 생성하고 조작할 수 있습니다.
  2. 풍부한 알고리즘 지원: 최단 경로, 클러스터링, 센트럴리티, 커뮤니티 구조 탐지 등 네트워크 구조를 분석하기 위한 다양한 알고리즘이 내장되어 있습니다.
  3. 그래프 생성과 조작: 그래프를 쉽게 생성하고 수정할 수 있으며, 노드와 엣지를 추가하거나 제거하는 등의 작업을 손쉽게 수행할 수 있습니다.
  4. 대규모 네트워크 처리 능력: NetworkX는 메모리 내에 저장할 수 있는 한에서 수천에서 수백만 개의 노드와 엣지를 가진 그래프를 처리할 수 있습니다.
  5. 시각화: Matplotlib와 통합되어 간단한 네트워크 구조를 시각화할 수 있으며, 복잡한 시각화를 위해서는 Graphviz와 같은 도구와 함께 사용할 수 있습니다.

 

pip install networkx

 

 

 

https://wikidocs.net/229298

 

NetworkX: 네트워크 구조의 모델링 및 시각화

![](https://wikidocs.net/images/page/229298/NetworkX_logo.png) NetworkX[^networkx]는 Python 프로그래밍 …

wikidocs.net

 

 

 

반응형
반응형

Matplotlib Tutorial - 파이썬으로 데이터 시각화하기

 

https://wikidocs.net/book/5011

 

Matplotlib Tutorial - 파이썬으로 데이터 시각화하기

## 도서 소개 - 이 책은 파이썬의 대표적인 데이터 시각화 라이브러리인 Matplotlib의 사용법을 소개합니다. - 30여 개 이상의 다양한 주제에 대해 100개…

wikidocs.net

Matplotlib 데이터 시각화와 2D 그래프 플롯에 사용되는 파이썬 라이브러리입니다.

Matplotlib을 이용하면 아래 그림과 같이 다양한 유형의 그래프를 간편하게 그릴 수 있습니다.

 

 

Matplotlib의 간단한 사용법을 소개하고, 예제와 함께 다양한 그래프를 그려봅니다.

예제들은 Matplotlib 공식 홈페이지를 참고해서 만들었습니다.

순서는 아래와 같습니다.

 

Contents

00. Matplotlib 설치하기
01. Matplotlib 기본 사용
02. Matplotlib 숫자 입력하기
03. Matplotlib 축 레이블 설정하기
04. Matplotlib 범례 표시하기
05. Matplotlib 축 범위 지정하기
06. Matplotlib 선 종류 지정하기
07. Matplotlib 마커 지정하기
08. Matplotlib 색상 지정하기
09. Matplotlib 그래프 영역 채우기
10. Matplotlib 축 스케일 지정하기
11. Matplotlib 여러 곡선 그리기
12. Matplotlib 그리드 설정하기
13. Matplotlib 눈금 표시하기
14. Matplotlib 타이틀 설정하기
15. Matplotlib 수평선/수직선 표시하기
16. Matplotlib 막대 그래프 그리기
17. Matplotlib 수평 막대 그래프 그리기
18. Matplotlib 산점도 그리기
19. Matplotlib 3차원 산점도 그리기
20. Matplotlib 히스토그램 그리기
21. Matplotlib 에러바 그리기
22. Matplotlib 파이 차트 그리기
23. Matplotlib 히트맵 그리기
24. Matplotlib 여러 개의 그래프 그리기
25. Matplotlib 컬러맵 설정하기
26. Matplotlib 텍스트 삽입하기
27. Matplotlib 수학적 표현 사용하기
28. Matplotlib 그래프 스타일 설정하기
29. Matplotlib 이미지 저장하기
30. Matplotlib 객체 지향 인터페이스 1
31. Matplotlib 객체 지향 인터페이스 2
32. Matplotlib 축 위치 조절하기
33. Matplotlib 이중 Y축 표시하기
34. Matplotlib 두 종류의 그래프 그리기
35. Matplotlib 박스 플롯 그리기
36. Matplotlib 바이올린 플롯 그리기
37. Matplotlib 다양한 도형 삽입하기
38. Matplotlib 다양한 패턴 채우기

 

반응형
반응형

https://pythontutor.com/

 

Python Tutor: Learn Python, JavaScript, C, C++, and Java by visualizing code

Learn Python, JavaScript, C, C++, and Java This coding tutor tool helps you learn Python, JavaScript, C, C++, and Java by visualizing code execution. You can use it to debug your homework assignments and as a supplement to online coding tutorials. Related

pythontutor.com

This coding tutor tool helps you learn Python, JavaScript, C, C++, and Java by visualizing code execution. You can use it to debug your homework assignments and as a supplement to online coding tutorials.

Related services: JavaScript Tutor C Tutor C++ Tutor Java Tutor

Over ten million people in more than 180 countries have used Python Tutor to visualize over 100 million pieces of code. It's the most widely-used program visualization tool for computing education.

 

이 코딩 튜터 도구는 코드 실행을 시각화하여 Python, JavaScript, C, C 및 Java를 배우는 데 도움이 됩니다. 이를 사용하여 숙제를 디버그하고 온라인 코딩 자습서를 보완할 수 있습니다. 지금 코드 작성 및 시각화 시작.

Learn Python, JavaScript, C, C++, and Java 로직 시각화

https://pythontutor.com/visualize.html#mode=edit

 

Python Tutor code visualizer: Visualize code in Python, JavaScript, C, C++, and Java

Please wait ... your code is running (up to 10 seconds) Write code in Python 3.6 Java 8 JavaScript ES6 C (gcc 9.3, C17 + GNU extensions) C++ (g++ 9.3, C++20 + GNU extensions) ------ [unsupported] Python 2.7 [unsupported] C (gcc 4.8, C11) [unsupported] C++

pythontutor.com

반응형
반응형

seaborn: statistical data visualization

 

seaborn.pydata.org/examples/index.html

 

Example gallery — seaborn 0.11.0 documentation

 

seaborn.pydata.org

 

반응형

+ Recent posts