Atlas / Skills / revfactory / Visualization Chooser

Visualization ChooserSAFE

skills/revfactory/visualization-chooser
Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
—
License
Apache-2.0
Stars
1,297
01

Overview

An agent skill published by revfactory.

Read from source at commit 459e1bb8f76eOBSERVED · 2026-10-12
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: visualization-chooser
description: "데이터 유형과 분석 목적에 따른 시각화 유형 선택 매트릭스, matplotlib/seaborn/plotly 구현 패턴 가이드. '시각화 선택', '차트 유형', '그래프 종류', 'matplotlib', 'seaborn', 'plotly', '히트맵', '산점도', '박스플롯', '대시보드 레이아웃' 등 데이터 시각화 설계 시 이 스킬을 사용한다. visualizer의 시각화 설계 역량을 강화한다. 단, 통계 분석이나 데이터 정제는 이 스킬의 범위가 아니다."
---

# Visualization Chooser — 시각화 유형 선택 매트릭스 가이드

데이터 유형과 커뮤니케이션 목적에 맞는 최적의 시각화를 선택하는 프레임워크.

## 시각화 선택 매트릭스

### 비교

| 목적 | 차트 | 적합 | 예시 |
|------|------|------|------|
| 항목 비교 | 막대 차트 | 5~15개 카테고리 | 제품별 매출 |
| 시간 추이 비교 | 라인 차트 | 연속 시간, 2~5 시리즈 | 월별 매출 추이 |
| 부분-전체 | 스택 막대 | 비율 비교 | 채널별 매출 비중 |
| 소수 비율 | 파이 차트 | 2~5개 항목만 | 시장 점유율 |
| 다수 비율 | 트리맵 | 계층적 데이터 | 카테고리별 매출 |

### 분포

| 목적 | 차트 | 적합 | 예시 |
|------|------|------|------|
| 단일 분포 | 히스토그램 | 연속 변수 | 나이 분포 |
| 분포 비교 | 박스플롯 | 그룹별 비교 | 부서별 급여 |
| 밀도 비교 | 바이올린 플롯 | 분포 형태 중요 | 점수 분포 |
| 이상치 강조 | 스트립 플롯 | 소규모 데이터 | 개별 데이터 포인트 |

### 관계

| 목적 | 차트 | 적합 | 예시 |
|------|------|------|------|
| 두 변수 관계 | 산점도 | 연속×연속 | 광고비 vs 매출 |
| 다변수 상관 | 히트맵 | 상관 매트릭스 | 변수 간 상관 |
| 추세선 | 회귀 플롯 | 선형 관계 | 경험 vs 급여 |
| 밀도 산점도 | 2D 밀도 | 데이터 과다 | 위치 데이터 |
| 버블 차트 | 산점도 + 크기 | 3변수 | 국가별 GDP/인구/기대수명 |

### 시간

| 목적 | 차트 | 적합 | 예시 |
|------|------|------|------|
| 추세 | 라인 차트 | 연속 시계열 | 일별 주가 |
| 계절성 | 분해 그래프 | 주기 패턴 | 월별 전력 사용 |
| 이벤트 강조 | 어노테이션 라인 | 특정 시점 | 마케팅 캠페인 효과 |
| 범위 | 영역 차트 | 누적/비율 | 채널별 트래픽 |

## 구현 코드 패턴

### 한글 설정 (필수)

```python
import matplotlib.pyplot as plt
import platform

if platform.system() == 'Darwin':  # macOS
    plt.rcParams['font.family'] = 'AppleGothic'
elif platform.system() == 'Windows':
    plt.rcParams['font.family'] = 'Malgun Gothic'
else:  # Linux
    plt.rcParams['font.family'] = 'NanumGothic'
plt.rcParams['axes.unicode_minus'] = False
```

### 색상 팔레트

```python
# 순서형 (연속 값)
palette_sequential = 'YlOrRd'

# 범주형 (구분)
palette_categorical = ['#4C72B0', '#55A868', '#C44E52', '#8172B3', '#CCB974']

# 발산형 (양극)
palette_diverging = 'RdBu_r'

# 접근성 고려
palette_colorblind = sns.color_palette('colorblind')
```

### 대시보드 레이아웃

```python
fig, axes = plt.subplots(2, 3, figsize=(18, 10))
fig.suptitle('매출 분석 대시보드', fontsize=16, fontweight='bold')

# KPI 카드 (텍스트 기반)
axes[0,0].text(0.5, 0.5, f'총 매출\n₩{total:,.0f}', ha='center', va='center', fontsize=20)

# 추이 차트
axes[0,1].plot(dates, sales, '-o')

# 분포
axes[0,2].boxplot([q1, q2, q3, q4])

# 비교
axes[1,0].barh(categories, values)

# 상관
sns.heatmap(corr_matrix, ax=axes[1,1], annot=True, cmap='RdBu_r')

# 파이
axes[1,2].pie(shares, labels=channels, autopct='%1.1f%%')

plt.tight_layout()
```

## 시각화 안티패턴

| 안티패턴 | 문제 | 해결 |
|---------|------|------|
| 3D 차트 | 왜곡, 읽기 어려움 | 2D 사용 |
| 이중 Y축 | 비교 오해 유발 | 별도 차트 또는 정규화 |
| 파이 5개 초과 | 비교 불가 | 막대 차트 전환 |
| 레인보우 색상 | 패턴 구분 어려움 | 순서/범주 팔레트 |
| 0이 아닌 Y축 시작 | 차이 과장 | Y축 0부터 시작 |
| 정보 과부하 | 핵심 놓침 | 강조점 하나에 집중 |
| 범례 없음 | 해석 불가 | 명확한 범례/라벨 |

## 인터랙티브 시각화 (Plotly)

```python
import plotly.express as px

# 산점도 + 색상 + 크기 + 호버
fig = px.scatter(
    df, x='광고비', y='매출',
    color='카테고리', size='고객수',
    hover_data=['제품명'],
    title='광고비 대비 매출 분석'
)
fig.show()

# Plotly → HTML 내보내기
fig.write_html('interactive_chart.html')
```

## 경영진 보고서용 시각화 원칙

```
1. 핵심 메시지 하나: 차트당 하나의 인사이트
2. 제목 = 결론: "매출이 15% 하락했다" (O) vs "월별 매출" (X)
3. 색상 = 의미: 빨강=나쁨, 초록=좋음, 회색=기준
4. 어노테이션: 핵심 수치 직접 표시
5. 비교 기준: 전월, 전년, 목표, 업계 평균
```
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 459e1bb8f76efull audit observations/trust-audit/skill/revfactory__visualization-chooser.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-12459e1bb8f76eSAFEB89first audit
05

Questions

Is Visualization Chooser safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Visualization Chooser access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (459e1bb8f76e), read on 2026-10-12. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement