Plotly는 인터렉티브한 시각화가 가능한 파이썬 그래픽 라이브러리 입니다.기본적인 시각화부터 통계, 재무, 지리 과학 및 3-dimensional 을 포함한 40개 이상의 차트 타입을 제공하는 오픈소스 입니다. 기본적으로 쥬피터 노트북에 시각화가 가능하며 인터렉티브한 dashboards 위해 Dash 또는 Chart Studio와 같은 라이브러리와 통합 및 확장이 가능합니다.
특징
Interactive 한 시각화 가능하여 사용자가 시각화된 그래프를 쉽게 줌인, 줌아웃 및 툴팁을 활용한 데이터확인이 가능합니다.(Matplotlib/Seaborn 과의 가장 큰 차이점)
Dash, 및 chart Studio 와같은 visualisation tools 연동으로 Web 및 application 통해 확인이 가능합니다.
"""
__ __
____ __ __/ /_/ /_ ____ ____
/ __ \/ / / / __/ __ \/ __ \/ __ \
/ /_/ / /_/ / /_/ / / / /_/ / / / /
/ .___/\__, /\__/_/ /_/\____/_/ /_/
/_/ /____/
==================================================
사용된 폰트: digital
--------------------------------------------------
+-+-+-+-+-+-+
|p|y|t|h|o|n|
+-+-+-+-+-+-+
pyfiglet 라이브러리 설치
ASCII 배너 생성 프로그램 (Python Code)
pip install pyfiglet
파이썬에서 FIGlet 스타일의 ASCII 배너(Banner)를 생성하려면 pyfiglet 라이브러리를 사용하면 됩니다. pyfiglet은 C로 작성된 오리지널 FIGlet 프로그램의 파이썬 구현체입니다.
"""
import pyfiglet
import sys
def generate_ascii_banner(text, font_name='slant'):
"""
주어진 텍스트와 폰트 이름으로 ASCII 배너를 생성하고 출력합니다.
:param text: ASCII 아트로 변환할 문자열
:param font_name: 사용할 pyfiglet 폰트 이름 (기본값: 'slant')
"""
try:
# pyfiglet Figlet 객체 생성 및 폰트 설정
fig = pyfiglet.Figlet(font=font_name)
# 텍스트를 ASCII 아트로 변환
banner = fig.renderText(text)
# 결과 출력
print("=" * 50)
print(f"사용된 폰트: {font_name}")
print("-" * 50)
print(banner)
print("=" * 50)
except pyfiglet.FigletError:
# 존재하지 않는 폰트 이름을 입력했을 때 발생하는 오류 처리
print(f"\n[오류] '{font_name}' 폰트는 존재하지 않습니다.")
print("사용 가능한 폰트 목록을 확인해주세요.")
except Exception as e:
print(f"\n[예외 발생] 예상치 못한 오류가 발생했습니다: {e}")
# --- 메인 실행 로직 ---
if __name__ == "__main__":
# 사용자로부터 입력 텍스트 받기
input_text = input("ASCII 배너로 만들 텍스트를 입력하세요: ")
if not input_text:
print("입력된 텍스트가 없습니다. 프로그램을 종료합니다.")
sys.exit()
# (선택 사항) 다양한 폰트로 테스트
print("\n--- 다양한 폰트로 테스트 ---")
# 1. 'slant' 폰트 (기본값)
generate_ascii_banner(input_text, 'slant')
# 2. 'big' 폰트
generate_ascii_banner(input_text, 'big')
# 3. 'digital' 폰트
generate_ascii_banner(input_text, 'digital')
# 4. 'banner3-D' 폰트
generate_ascii_banner(input_text, 'banner3-D')
# 모든 사용 가능한 폰트 목록을 보려면 다음 코드를 사용하세요.
# print("\n--- 사용 가능한 모든 폰트 목록 ---")
# print(pyfiglet.Figlet().getFonts())
1.faker는 이름, 주소, 이메일, 전화번호 등 다양한 종류의 가짜 데이터를 만들어주는 파이썬 패키지입니다. Faker 객체를 생성하고, 해당 객체가 제공하는 다양한 메소드를 호출해 원하는 형식의 데이터를 얻을 수 있어요. 2.Faker는 국가별 언어 설정을 지원해요. 예를 들어, Faker('ko_KR')를 사용하면 한국어 이름, 주소, 주민등록번호 등
한국 특화된 데이터를 생성할 수 있습니다.
""" pip install Faker
"""
from faker import Faker
# Faker 객체 생성
fake = Faker('ko_KR') # 'ko_KR'은 한국어 더미 데이터를 생성하도록 설정합니다.
# 기본 정보 더미 데이터 생성
print("--- 기본 정보 ---")
print("이름:", fake.name())
print("주소:", fake.address())
print("전화번호:", fake.phone_number())
print("이메일:", fake.email())
print("회사:", fake.company())
print("직업:", fake.job())
print("생일:", fake.date_of_birth())
print("-" * 20)
# 텍스트 및 문장 더미 데이터
print("--- 텍스트 ---")
print("문장:", fake.sentence())
print("단락:", fake.paragraph())
print("텍스트:", fake.text())
print("-" * 20)
# 숫자 및 날짜/시간 더미 데이터
print("--- 숫자/시간 ---")
print("정수:", fake.random_int(min=1, max=100))
print("날짜:", fake.date_this_year())
print("시간:", fake.time())
print("-" * 20)
# 금융 정보 더미 데이터
print("--- 금융 정보 ---")
print("신용카드 번호:", fake.credit_card_number())
print("통화 코드:", fake.currency_code())
print("-" * 20)
# 한국어(ko_KR)에서만 제공하는 특별한 더미 데이터
print("--- 한국어 특화 ---")
print("주민등록번호:", fake.ssn())
print("우편번호:", fake.postcode())
print("-" * 20)
# 여러 개의 데이터 생성
print("--- 사용자 목록 ---")
for _ in range(3):
print({
'이름': fake.name(),
'이메일': fake.email(),
'주소': fake.address(),
'나이': fake.random_int(min=20, max=60),
})
print("-" * 20)
voronoi diagram for generative geometry using python
파이썬을 사용하여 제너레이티브 지오메트리(generative geometry)를 위한 보로노이 다이어그램(Voronoi diagram)을 생성하는 것은 널리 사용되는 강력한 기법입니다.
이 과정은 일련의 무작위 점을 생성한 다음, SciPy와 같은 라이브러리를 사용하여 이 점들에 대한 근접성에 따라 평면을 분할하는 보로노이 다이어그램을 계산하는 것을 포함합니다.
이렇게 분할된 공간은 복잡하고 유기적으로 보이는 디자인을 만드는 데 사용될 수 있습니다.
"""
파이썬을 사용하여 제너레이티브 지오메트리(generative geometry)를 위한
보로노이 다이어그램(Voronoi diagram)을 생성하는 것은 널리 사용되는 강력한 기법입니다.
이 과정은 일련의 무작위 점을 생성한 다음, SciPy와 같은 라이브러리를 사용하여
이 점들에 대한 근접성에 따라 평면을 분할하는 보로노이 다이어그램을 계산하는 것을 포함합니다.
이렇게 분할된 공간은 복잡하고 유기적으로 보이는 디자인을 만드는 데 사용될 수 있습니다.
"""
import numpy as np
from scipy.spatial import Voronoi, voronoi_plot_2d
import matplotlib.pyplot as plt
# 1. Generate 20 random 2D points
points = np.random.rand(20, 2)
# 2. Compute the Voronoi diagram
vor = Voronoi(points)
# 3. Plot the diagram
fig = voronoi_plot_2d(vor)
plt.show()
핵심 라이브러리
파이썬에서 보로노이 다이어그램을 생성하고 시각화하려면 주로 다음 라이브러리가 필요합니다:
NumPy: 수치 연산을 위해, 특히 점들의 좌표를 생성하고 다루는 데 사용됩니다.
SciPy: 핵심 보로노이 다이어그램 계산을 위해. scipy.spatial.Voronoi 클래스가 주요 도구입니다.
Matplotlib: 결과 다이어그램을 플롯하고 시각화하는 데 사용됩니다.
기본 보로노이 다이어그램 생성 단계
다음 코드는 이 라이브러리들을 사용한 간단한 예시를 보여줍니다.
무작위 점 생성: 보로노이 셀의 "씨앗(seeds)" 또는 "생성자(generators)" 역할을 할 일련의 무작위 2D 점을 만듭니다.
보로노이 다이어그램 계산: 점 집합을 scipy.spatial.Voronoi에 전달합니다. 이 객체는 보로노이 셀의 꼭짓점과 그 관계를 포함하여 다이어그램에 대한 모든 필수 정보를 담고 있습니다.
다이어그램 플롯: scipy.spatial.voronoi_plot_2d를 사용하여 결과를 시각화합니다. 이 함수는 보로노이 객체를 받아 다이어그램의 선과 꼭짓점을 플롯하며, 종종 원래의 점들이 함께 겹쳐서 표시됩니다.