python 원형 그래프 / 제일 많은 Ratio 강조

2024. 1. 24. 20:41python

아래 코드 output

 

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