iiuniversitet.ruЦентр обучения нейросетямОткрыть каталог

Графики и диаграммы на Python

Строит аккуратные графики по вашим данным, подбирает подходящий тип и сохраняет картинку PNG для отчёта или презентации.

СкиллAnthropicClaudeApache-2.0Загрузить архив в ClaudeПроверка не требуется
Что делает
Строит аккуратные графики по вашим данным, подбирает подходящий тип и сохраняет картинку PNG для отчёта или презентации.
Когда брать
Когда нужно превратить таблицу или результат запроса в график, выбрать тип диаграммы или сделать интерактивный график.
Пример запроса
Покажи выручку по месяцам за последние 12 месяцев линейным графиком и выдели тренд.
Нужно подключить
Python, хранилище данных или файл CSV/Excel

Входит в плагин data. В Cowork и Claude Code можно поставить плагин целиком.

Как включить

  1. Нажмите «Скачать на русском» и сохраните архив.
  2. В Claude откройте Настройки → Capabilities → Skills → Upload skill и выберите архив.
  3. Включите скилл переключателем.
Для терминала

Распакуйте архив и положите папку create-viz в ~/.claude/skills/. Файл SKILL.md должен лежать внутри этой папки.

Текст

---
name: create-viz
description: Создавай визуализации публикационного качества на Python. Используй, когда нужно превратить результаты запроса или таблицу DataFrame в график, подобрать подходящий тип графика для тренда или сравнения, сделать диаграмму для отчёта или презентации или получить интерактивный график с наведением и масштабированием.
argument-hint: "<data source> [chart type]"
---

/create-viz - Создание визуализаций

Если встретишь незнакомые подстановки или нужно проверить, какие инструменты подключены, смотри [CONNECTORS.md](../../CONNECTORS.md).

Создавай визуализации данных публикационного качества на Python. Строй графики по данным с учётом лучших практик ясности, точности и дизайна.

Использование

/create-viz <data source> [chart type] [additional instructions]

Рабочий процесс

1. Пойми запрос

Определи:

  • Источник данных: результаты запроса, вставленные данные, файл CSV/Excel или данные, которые ещё нужно запросить
  • Тип графика: указан явно или его нужно порекомендовать
  • Цель: исследование, презентация, отчёт, часть дашборда
  • Аудитория: техническая команда, руководители, внешние заинтересованные лица

2. Получи данные

Если подключено хранилище данных и данные нужно запросить:

  1. Напиши и выполни запрос
  2. Загрузи результаты в pandas DataFrame

Если данные вставлены или загружены:

  1. Разбери данные в pandas DataFrame
  2. При необходимости почисти и подготовь их (преобразование типов, обработка пустых значений)

Если данные получены из предыдущего анализа в этом разговоре:

  1. Сошлись на уже имеющиеся данные

3. Выбери тип графика

Если пользователь не указал тип графика, порекомендуй его по данным и вопросу:

Связь в данныхРекомендуемый график
Тренд во времениЛинейный график
Сравнение по категориямСтолбчатая диаграмма (горизонтальная, если категорий много)
Доли целогоСтолбцы с накоплением или диаграмма с областями (круговых диаграмм избегай, если категорий не меньше 6)
Распределение значенийГистограмма или ящик с усами
Корреляция между двумя переменнымиТочечная диаграмма
Сравнение двух переменных во времениЛинейный график с двумя осями или сгруппированные столбцы
Географические данныеКартограмма
РейтингГоризонтальная столбчатая диаграмма
Поток или процессДиаграмма Санкея
Матрица связейТепловая карта

Если пользователь не указал тип графика, коротко объясни свою рекомендацию.

4. Создай визуализацию

Напиши код на Python, выбрав одну из этих библиотек по задаче:

  • matplotlib + seaborn: лучший выбор для статичных графиков публикационного качества. Вариант по умолчанию.
  • plotly: лучший выбор для интерактивных графиков или когда пользователь просит интерактивность.

Требования к коду:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# Set professional style
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette("husl")

# Create figure with appropriate size
fig, ax = plt.subplots(figsize=(10, 6))

# [chart-specific code]

# Always include:
ax.set_title('Clear, Descriptive Title', fontsize=14, fontweight='bold')
ax.set_xlabel('X-Axis Label', fontsize=11)
ax.set_ylabel('Y-Axis Label', fontsize=11)

# Format numbers appropriately
# - Percentages: '45.2%' not '0.452'
# - Currency: '$1.2M' not '1200000'
# - Large numbers: '2.3K' or '1.5M' not '2300' or '1500000'

# Remove chart junk
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

plt.tight_layout()
plt.savefig('chart_name.png', dpi=150, bbox_inches='tight')
plt.show()

5. Примени лучшие практики дизайна

Цвет:

  • Используй единую палитру, удобную для людей с нарушением цветовосприятия
  • Используй цвет осмысленно, а не для украшения
  • Выдели ключевую точку данных или тренд контрастным цветом
  • Приглушай серым менее важные справочные данные

Типографика:

  • Заголовок должен описывать вывод, а не просто метрику (например, «Выручка выросла на 23% за год», а не «Выручка по месяцам»)
  • Читаемые подписи осей (по возможности не повёрнутые на 90 градусов)
  • Подписи данных на ключевых точках, когда они делают график яснее

Компоновка:

  • Достаточно свободного места и полей
  • Легенда расположена так, чтобы не закрывать данные
  • Категории отсортированы по значению (а не по алфавиту), если нет естественного порядка

Точность:

  • Ось Y в столбчатых диаграммах начинается с нуля
  • Никаких вводящих в заблуждение разрывов осей без чёткого обозначения
  • Одинаковые шкалы при сравнении панелей
  • Разумная точность (не показывай 10 знаков после запятой)

6. Сохрани и покажи

  1. Сохрани график в PNG-файл с понятным названием
  2. Покажи график пользователю
  3. Приведи использованный код, чтобы пользователь мог его изменить
  4. Предложи варианты (другой тип графика, другая группировка, другой масштаб времени)

Примеры

/create-viz Покажи выручку по месяцам за последние 12 месяцев линейным графиком с выделенным трендом
/create-viz Вот наши данные NPS по продуктам: [вставлены данные]. Построй горизонтальную столбчатую диаграмму с рейтингом продуктов по оценке.
/create-viz Сделай запрос к таблице заказов и построй тепловую карту объёма заказов по дням недели и часам

Советы

  • Если нужны интерактивные графики (наведение, масштабирование, фильтры), напиши «интерактивный» — и Claude использует plotly
  • Укажи «для презентации», если нужны более крупные шрифты и больший контраст
  • Можно попросить сразу несколько графиков (например, «сделай сетку 2×2 из графиков, показывающих...»)
  • Графики сохраняются в PNG-файлы в текущей папке

Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/knowledge-work-plugins/tree/main/data/skills/create-viz, лицензия Apache-2.0. Изменения: перевод на русский язык.

Оригинал на английском
---
name: create-viz
description: Create publication-quality visualizations with Python. Use when turning query results or a DataFrame into a chart, selecting the right chart type for a trend or comparison, generating a plot for a report or presentation, or needing an interactive chart with hover and zoom.
argument-hint: "<data source> [chart type]"
---

# /create-viz - Create Visualizations

> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).

Create publication-quality data visualizations using Python. Generates charts from data with best practices for clarity, accuracy, and design.

## Usage

```
/create-viz <data source> [chart type] [additional instructions]
```

## Workflow

### 1. Understand the Request

Determine:

- **Data source**: Query results, pasted data, CSV/Excel file, or data to be queried
- **Chart type**: Explicitly requested or needs to be recommended
- **Purpose**: Exploration, presentation, report, dashboard component
- **Audience**: Technical team, executives, external stakeholders

### 2. Get the Data

**If data warehouse is connected and data needs querying:**
1. Write and execute the query
2. Load results into a pandas DataFrame

**If data is pasted or uploaded:**
1. Parse the data into a pandas DataFrame
2. Clean and prepare as needed (type conversions, null handling)

**If data is from a previous analysis in the conversation:**
1. Reference the existing data

### 3. Select Chart Type

If the user didn't specify a chart type, recommend one based on the data and question:

| Data Relationship | Recommended Chart |
|---|---|
| Trend over time | Line chart |
| Comparison across categories | Bar chart (horizontal if many categories) |
| Part-to-whole composition | Stacked bar or area chart (avoid pie charts unless <6 categories) |
| Distribution of values | Histogram or box plot |
| Correlation between two variables | Scatter plot |
| Two-variable comparison over time | Dual-axis line or grouped bar |
| Geographic data | Choropleth map |
| Ranking | Horizontal bar chart |
| Flow or process | Sankey diagram |
| Matrix of relationships | Heatmap |

Explain the recommendation briefly if the user didn't specify.

### 4. Generate the Visualization

Write Python code using one of these libraries based on the need:

- **matplotlib + seaborn**: Best for static, publication-quality charts. Default choice.
- **plotly**: Best for interactive charts or when the user requests interactivity.

**Code requirements:**

```python
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# Set professional style
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette("husl")

# Create figure with appropriate size
fig, ax = plt.subplots(figsize=(10, 6))

# [chart-specific code]

# Always include:
ax.set_title('Clear, Descriptive Title', fontsize=14, fontweight='bold')
ax.set_xlabel('X-Axis Label', fontsize=11)
ax.set_ylabel('Y-Axis Label', fontsize=11)

# Format numbers appropriately
# - Percentages: '45.2%' not '0.452'
# - Currency: '$1.2M' not '1200000'
# - Large numbers: '2.3K' or '1.5M' not '2300' or '1500000'

# Remove chart junk
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

plt.tight_layout()
plt.savefig('chart_name.png', dpi=150, bbox_inches='tight')
plt.show()
```

### 5. Apply Design Best Practices

**Color:**
- Use a consistent, colorblind-friendly palette
- Use color meaningfully (not decoratively)
- Highlight the key data point or trend with a contrasting color
- Grey out less important reference data

**Typography:**
- Descriptive title that states the insight, not just the metric (e.g., "Revenue grew 23% YoY" not "Revenue by Month")
- Readable axis labels (not rotated 90 degrees if avoidable)
- Data labels on key points when they add clarity

**Layout:**
- Appropriate whitespace and margins
- Legend placement that doesn't obscure data
- Sorted categories by value (not alphabetically) unless there's a natural order

**Accuracy:**
- Y-axis starts at zero for bar charts
- No misleading axis breaks without clear notation
- Consistent scales when comparing panels
- Appropriate precision (don't show 10 decimal places)

### 6. Save and Present

1. Save the chart as a PNG file with descriptive name
2. Display the chart to the user
3. Provide the code used so they can modify it
4. Suggest variations (different chart type, different grouping, zoomed time range)

## Examples

```
/create-viz Show monthly revenue for the last 12 months as a line chart with the trend highlighted
```

```
/create-viz Here's our NPS data by product: [pastes data]. Create a horizontal bar chart ranking products by score.
```

```
/create-viz Query the orders table and create a heatmap of order volume by day-of-week and hour
```

## Tips

- If you want interactive charts (hover, zoom, filter), mention "interactive" and Claude will use plotly
- Specify "presentation" if you need larger fonts and higher contrast
- You can request multiple charts at once (e.g., "create a 2x2 grid of charts showing...")
- Charts are saved to your current directory as PNG files

Источник: anthropics/knowledge-work-plugins / data / create-viz ↗. Ссылка проверена 2026-10-10.