builderlog
📦 자동화 팩은 이제 구독이에요. 팩마다 월 990원 · 1년 9,900원. 구독하면 설치 방법을 바로 보내 드리고, 업데이트는 자동으로 받아요. 기존 구매자는 산 팩 1년 업데이트가 무료예요(내 구매함).요금 보기 →

프롬프트 도감 › No.2858

파이썬 엑셀 차트 생성기

Python Excel Chart Templates

파이썬을 활용해 막대 차트나 꺾은선 그래프를 엑셀 파일 안에 자동으로 그려줘요. 데이터 범위와 서식을 깔끔하게 맞춰 보고서용 차트를 쉽게 완성해요.

이럴 때 보고서 차트 제작, 데이터 시각화, 엑셀 자동화

도구 AI

프롬프트

# Chart Templates — Implementation Code

> This file contains chart implementation code. **Read it together with `engines/chart.md`** whenever the task involves charts.

---

## Native Excel Charts (openpyxl.chart)

### Bar Chart
```python
from openpyxl.chart import BarChart, Reference
from templates.base import make_chart_title

chart = BarChart()
chart.type = "col"
chart.title = make_chart_title("Revenue by Product", 14)
chart.y_axis.title = make_chart_title("Revenue ($)", 10, bold=False, axis=True)
chart.x_axis.title = make_chart_title("Product", 10, bold=False)

data = Reference(ws, min_col=3, min_row=4, max_col=3, max_row=last_row)
cats = Reference(ws, min_col=2, min_row=5, max_row=last_row)

chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
chart.shape = 4
chart.width = 18
chart.height = 10

ws.add_chart(chart, "J4")
```

### Line Chart
```python
from openpyxl.chart import LineChart, Reference
from templates.base import make_chart_title

chart = LineChart()
chart.title = make_chart_title("Monthly Trend", 14)
chart.y_axis.title = make_chart_title("Amount", 10, bold=False, axis=True)
chart.style = 10

data = Reference(ws, min_col=3, max_col=5, min_row=4, max_row=last_row)
cats = Reference(ws, min_col=2, min_row=5, max_row=last_row)

chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
for series in chart.series:
    series.smooth = True

ws.add_chart(chart, "J4")
```

### Pie Chart
```python
from openpyxl.chart import PieChart, Reference
from openpyxl.chart.label import DataLabelList
from templates.base import make_chart_title

chart = PieChart()
chart.title = make_chart_title("Market Share", 14)

data = Reference(ws, min_col=3, min_row=4, max_row=last_row)
cats = Reference(ws, min_col=2, min_row=5, max_row=last_row)

chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)

chart.dataLabels = DataLabelList()
chart.dataLabels.dLblPos = 'bestFit'
chart.dataLabels.showLeaderLines = True
chart.dataLabels.showCatName = True
chart.dataLabels.showPercent = True
chart.dataLabels.showVal = False

ws.add_chart(chart, "J4")
```

### Combo Chart (Bar + Line, dual axis)
```python
from openpyxl.chart import BarChart, LineChart, Reference
from templates.base import make_chart_title

bar = BarChart()
bar.add_data(Reference(ws, min_col=2, max_col=2, min_row=1, max_row=10), titles_from_data=True)
bar.title = make_chart_title("Revenue vs Growth", 14)
bar.y_axis.title = make_chart_title("Revenue ($)", 10, bold=False, axis=True)

line = LineChart()
line.add_data(Reference(ws, min_col=3, max_col=3, min_row=1, max_row=10), titles_from_data=True)
line.y_axis.title = make_chart_title("Growth %", 10, bold=False, axis=True)
line.y_axis.axId = 200

bar += line
ws.add_chart(bar, "E2")
```

---

## Matplotlib Charts (embedded as images)

### Chinese Font Setup
```python
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

fm.fontManager.addfont('/usr/share/fonts/truetype/chinese/NotoSansSC-Regular.ttf')
fm.fontManager.addfont('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf')
# Noto Sans SC for Chinese, DejaVu Sans catches symbols Noto Sans SC lacks (²³♠ etc.)
plt.rcParams['font.sans-serif'] = ['Noto Sans SC', 'DejaVu Sans']
plt.rcParams['axes.unicode_minus'] = False
```

### Standard Template
```python
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(categories, values, color='#4A90D9')
ax.set_title('Chart Title', fontsize=14, fontweight='bold', pad=15)
ax.set_xlabel('X Label', fontsize=11)
ax.set_ylabel('Y Label', fontsize=11)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.tick_params(axis='x', rotation=45)
fig.tight_layout(pad=2.0)
plt.legend(loc='best', fontsize='small')
fig.savefig('chart.png', dpi=150, bbox_inches='tight', facecolor='white')
plt.close()
```

### Embed in Excel (preserving aspect ratio)
```python
from openpyxl.drawing.image import Image as XlImage
from PIL import Image as PILImage

pil_img = PILImage.open('chart.png')
orig_w, orig_h = pil_img.size
target_w = 600
scale = target_w / orig_w

xl_img = XlImage('chart.png')
xl_img.width = target_w
xl_img.height = int(orig_h * scale)

ws.add_image(xl_img, 'B20')
```

### Smart Chart Recommend Function
```python
def recommend_chart(df, x_col, y_cols):
    if pd.api.types.is_datetime64_any_dtype(df[x_col]):
        return "line"
    n_categories = df[x_col].nunique()
    n_series = len(y_cols)
    if n_series == 1:
        vals = df[y_cols[0]]
        if vals.sum() > 95 and vals.sum() < 105:
            return "pie" if n_categories <= 5 else "bar_horizontal"
    if n_categories <= 6:
        return "bar_grouped" if n_series > 1 else "bar"
    elif n_categories <= 15:
        return "bar_horizontal"
    else:
        return "bar_top10"
```

팁

출처

권리: CC0-1.0; asgeirtj/system_prompts_leaks; 원문 출처 링크 참조. 수정·번역 여부는 카드 메타 참조.

프롬프트 도감builderlog.net · PROMPT DEX · 2026 가을판 · 205종

원하는 결과부터 골라보세요. 무료 프롬프트는 복사해서 바로 써보고, 반복 작업은 내 컴퓨터에 맞는 패키지로 시작할 수 있어요.

패키지 둘러보기 무료 프롬프트 먼저 써보기
000수록 프롬프트
0.0평균 별점 / 5
0직접 재현·테스트
0내 사진이 필요한 것
채집0/ 0
LAST SYNC

🆓 무료 프롬프트, 골라 드려요

복사해서 바로 쓰는 것만
전체 도감에서 더 찾기 ↓

🐙 GitHub 스타 목록 참고 · 실행 검증 아님

🎯 뭘 하고 싶어요?

목표를 하나 고르면 그 스킬트리만 펼쳐집니다. 전체는 "전체 코스"

📡 실시간 수집함

깃허브·사례집·레딧·해커뉴스를 매일 긁어 쌓습니다. 사람이 검토하기 전까지는 미검증
수집중▮

★ 별점 기준

  • 5: 거의 실패 없음, 결과가 곧바로 쓸 만함
  • 4: 한두 번 재생성하면 됨
  • 3: 재미는 있으나 편차 크거나 근거 약함

🔋 토큰 산정

  • 입력: 한글 1.3자, 영문 4자를 1토큰으로 추정
  • 텍스트 프롬프트는 Qwen2.5-14B 로컬 실행 실측치로 교체
  • 이미지 1장은 Gemini 이미지 모델 기준 1,290토큰
  • 영상·음악은 토큰이 아닌 초당 크레딧 과금

🎯 추천 코스

  • '뭘 하고 싶은지'를 먼저 고르면 그 목표에 맞는 프롬프트를 쓰는 순서대로 묶어 보여줍니다
  • 카드마다 '이럴 때 쓰세요'와 '어디에 올리나'를 적어 두었습니다
  • 같은 프롬프트가 여러 코스에 들어갈 수 있습니다

⚖️ 라이선스·삭제 요청

  • 원문을 그대로 실은 프롬프트는 재배포가 허용된 출처(CC0·MIT·CC BY 4.0 등)만이며, 항목마다 라이선스와 원작자를 표기합니다
  • 상업 매체에서 소개된 프롬프트는 원문을 옮기지 않고 도감 편집부가 같은 기능으로 다시 썼습니다. 출처 링크는 참고용입니다
  • 결과 이미지는 원작자가 공개한 것을 라이선스에 따라 싣고, 실존 인물의 얼굴이 식별되는 이미지는 싣지 않습니다. 상표·캐릭터가 보이는 이미지는 예시 목적이며 권리는 각 소유자에게 있습니다
  • 권리자의 삭제 요청은 Contact로 보내 주세요. 확인 즉시 내립니다
  • '빌더로그 직접 작성' 표시가 있는 항목은 © 빌더로그입니다. 개인적·비상업적 용도로 본인의 에이전트에 붙여넣어 쓰는 것만 허용하며, 상업적 이용과 원문 전체·일부의 복제·재게시·재배포(블로그·SNS·강의·유료 자료 포함)를 금지합니다. 소개는 해당 페이지 링크로만 해 주세요. 항목에 다른 라이선스가 적혀 있으면 그것이 우선합니다

📡 실시간 수집

  • scripts/collect.py 가 GitHub API·사례집 README·Reddit·Hacker News를 긁어 inbox.json 에 쌓습니다 (LLM 없이 결정적 코드)
  • GitHub Actions(매일 06:00 KST) 또는 로컬 launchd로 자동 실행. 처음 본 항목은 NEW 표시
  • 수집함의 항목은 미검증입니다. 사람이 검토해 도감으로 승격합니다

📸 결과 캡처

  • 텍스트·설정 프롬프트: 로컬 Qwen2.5-14B 실행 출력을 그대로 캡처 (입력값은 카드에 표시)
  • 이미지 프롬프트: CC BY 4.0 / MIT로 공개된 오픈소스 사례집의 결과물. 원작자 링크 표기
  • 같은 프롬프트가 아닌 경우 '유사 사례'로 구분. 캡처가 없는 항목은 출처 링크로 확인

✅ 검증 방식

  • 결과 공개 확인: 매체·계정에서 실제 결과물이 여러 건 공개된 것
  • 직접 테스트: 텍스트·설정 프롬프트를 로컬 모델로 실행해 형식과 의도가 재현되는지 확인
  • 원문 인용을 원칙으로 하되, 저작권상 전문을 못 옮긴 항목은 핵심 요소 기준으로 재구성했다고 표시
⚪ 내 도감

채집한 프롬프트를 파일로 저장해 다른 도구나 노트에 붙여넣으세요.

상세

다음으로 둘러보기

자동화 패키지내 작업에 맞는 패키지 고르기숏츠·블로그·릴스·틱톡 작업을 내 컴퓨터에서 한 흐름으로. Mac · Windows깃허브 분석실행 환경까지 확인한 도구 찾기GitHub 도구의 용도와 실행 환경을 정리했어요떡상 레이더지금 뜨는 소재 보기떡상 쇼츠·사람들이 찾는 소재·급상승 키워드를 6시간마다 모아요