python 원형 그래프 / 제일 많은 Ratio 강조
2024. 1. 24. 20:41ㆍpython
import seaborn as sns
import matplotlib.pyplot as plt
# 샘플 데이터 생성
data = [50, 40, 20, 10]
# 가장 많은 비율을 가진 항목을 강조하기 위해 explode 설정
explode = (0.1, 0, 0, 0) # 첫 번째 항목을 10% 떼어냄
# 색상 지정
colors = ['#FFD700', '#D3D3D3', '#C0C0C0', '#A9A9A9']
# 그래프 스타일 설정
sns.set(style="whitegrid")
# Seaborn을 사용하여 원 그래프 그리기
plt.figure(figsize=(6, 6))
patches, texts, autotexts = plt.pie(data, labels=["Category A", "Category B", "Category C", "Category D"],
autopct='%1.1f%%', startangle=140, explode=explode, colors=colors,
textprops={'fontsize': 14, 'fontweight': 'bold', 'color': 'white'})
# 강조한 부분의 텍스트 추가
highlighted_text = texts[0].get_text()
plt.text(0, 0, f'Most: {highlighted_text}', fontsize=14, fontweight='bold', color='black',
va='center', ha='center')
# 그래프 제목 추가
plt.title("Pie Chart with Emphasized Slice")
# 원 그래프를 원형으로 표현하기 위해 아래 코드 추가
plt.axis('equal')
# 그래프 표시
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
import random
# 샘플 데이터 생성
data = [30, 40, 20, 10]
# 가장 많은 비율을 가진 항목을 강조하기 위해 explode 설정
explode = (0.1, 0, 0, 0) # 첫 번째 항목을 10% 떼어냄
# 랜덤 회색 색상 생성 함수 (흰색 제외)
def generate_random_gray():
while True:
# 랜덤한 회색 색상 생성 (16진수 표현)
gray_value = random.randint(0, 255)
if gray_value != 255: # 흰색 제외
gray_color = "#{:02X}{:02X}{:02X}".format(gray_value, gray_value, gray_value)
return gray_color
# 노란색 지정
colors = ['#FFD700'] + [generate_random_gray() for _ in range(len(data) - 1)]
# 그래프 스타일 설정
sns.set(style="whitegrid")
# Seaborn을 사용하여 원 그래프 그리기
plt.figure(figsize=(6, 6))
patches, texts, autotexts = plt.pie(data, labels=["Category A", "Category B", "Category C", "Category D"],
autopct='%1.1f%%', startangle=140, explode=explode, colors=colors,
textprops={'fontsize': 10, 'fontweight': 'bold', 'color': 'white'})
# 강조한 부분의 텍스트 추가
highlighted_text = autotexts[0].get_text()
plt.text(0, 0, f'Most: {highlighted_text}', fontsize=30, fontweight='bold', color='black',
va='center', ha='center')
# 그래프 제목 추가
plt.title("Pie Chart with Emphasized Slice")
# 원 그래프를 원형으로 표현하기 위해 아래 코드 추가
plt.axis('equal')
# 그래프 표시
plt.show()
'python' 카테고리의 다른 글
Python MultiProcessing (0) | 2024.03.16 |
---|---|
FLASK - S3 연동 (1) | 2024.02.08 |
원그래프 그리기 / 가장 많은 부분 강조 (0) | 2024.01.24 |
Flask & React 연결 (w/ s3) (0) | 2024.01.23 |
SQLite python - table 속성 추가 (0) | 2024.01.19 |