Построение хроматограммы в Excel: от теории к практике с примерами

Хроматограмма — это графическое представление результатов хроматографического анализа, где по оси X откладывается время удерживания (или объём элюента), а по оси Y — интенсивность сигнала детектора. В Microsoft Excel такие графики строят для визуализации разделения компонентов смеси, контроля качества или научных исследований. Однако стандартные инструменты программы не содержат шаблона «хроматограмма», поэтому пользователям приходится адаптировать графики с областями или линейные диаграммы под специфические требования.

В этой статье вы узнаете, как преобразовать сырые данные хроматографического анализа в профессионально оформленную хроматограмму, избегая типичных ошибок. Мы разберём подготовку таблиц, выбор типа диаграммы, настройку осей и даже автоматизацию процесса с помощью VBA для повторяющихся задач. Особое внимание уделим корректной визуализации пиков с асимметрией — ключевому параметру для оценки эффективности колонки.

Подготовка данных для хроматограммы

Прежде чем строить график, необходимо структурировать исходные данные. Хроматографические данные обычно представляют собой два столбца: время удерживания (или номер точки) и интенсивность сигнала (например, оптическая плотность, ток детектора). Важно, чтобы:

  • 📊 Данные были отсортированы по времени (возрастание). В противном случае линия на графике будет ломаной.
  • 🔍 Первая строка содержала заголовки столбцов (Excel использует их для легенды).
  • ⚡ Минимальное и максимальное значения интенсивности не были выбросами (исключите артефакты перед построением).

Пример корректной таблицы:

Время, минИнтенсивность, мВ
0.10.002
0.50.015
1.20.870
1.80.120
2.50.005

Если ваши данные содержат несколько каналов детектора (например, УФ и флуоресценция), разместите их в отдельных столбцах. Позже это позволит добавить на график вторую ось Y или построить комбинированную диаграмму.

⚠️ Внимание: Не используйте пустые ячейки в столбце с временем — Excel воспримет их как разрыв данных и построит график с пропусками. Замените отсутствующие значения на 0 или используйте линейную интерполяцию.

Выбор типа диаграммы: что лучше для хроматограммы?

Excel предлагает более 20 типов диаграмм, но для хроматограмм подходят только три:

  1. График с маркерами — показывает точные значения, но визуально «зашумлён».
  2. Гладкий график — сглаживает линию, но может искажать пики.
  3. График с областями — закрашивает пространство под линией, что удобно для интегрирования пиков.

Для большинства задач оптимален график с маркерами и гладкими линиями. Чтобы его создать:

  1. Выделите диапазон с данными (включая заголовки).
  2. Перейдите на вкладку Вставка → Графики → Вставить график с маркерами.
  3. Выберите вариант «График с маркерами и гладкими линиями».

Если вам нужна закрашенная область под пиками (например, для презентаций), используйте График с областями, но отключите заливку фона — иначе мелкие пики будут неразличимы.

📊 Какой тип диаграммы вы обычно используете для хроматограмм?
График с маркерами
Гладкий график
График с областями
Другой вариант

Настройка осей: масштаб, единицы и метки

По умолчанию Excel подбирает масштаб осей автоматически, но для хроматограмм это часто неприемлемо. Например, пики с малой интенсивностью могут «сплющиться» до нуля, если на графике есть высокий основной пик. Чтобы этого избежать:

  • 📏 Кликните правой кнопкой по оси Y → Формат оси.
  • 🔢 Установите фиксированные границы (например, от 0 до 1.1, если максимальный пик = 1.0).
  • 📊 Для оси X выберите интервал основных делений, кратный характерному времени удерживания (например, 0.5 мин).

Если ваши данные содержат отрицательные значения интенсивности (например, при дифференциальном детектировании), добавьте вспомогательную горизонтальную линию на уровне нуля:

  1. Добавьте в таблицу столбец с нулевыми значениями (напротив каждого времени).
  2. Постройте график для обоих рядов данных.
  3. Отформатируйте линию нулей серым цветом с пунктиром.
⚠️ Внимание: При работе с логарифмической шкалой (например, для широкого диапазона концентраций) убедитесь, что все значения интенсивности > 0. Excel не построит логарифм от нуля или отрицательных чисел.

Установлены фиксированные границы по Y|

Интервал делений по X кратен характерному времени|

Добавлена линия нулевого уровня (если нужна)|

Метки осей содержат единицы измерения-->

Оформление пиков: цвета, подписи и интегрирование

В аналитической химии важно не только визуально выделить пики, но и подписать их (например, указать время удерживания или название вещества). Для этого:

  1. Добавьте на график подписи данных (вкладка Макет → Подписи данных).
  2. Выберите отображение значений X (время удерживания).
  3. Отформатируйте подписи: уменьшите шрифт до 8–10 пт и поверните на 45° для экономии места.

Для интегрирования пиков (вычисления площади) используйте:

  • 📊 Вручную: метод трапеций (разбейте пик на сегменты и просуммируйте площади).
  • 🤖 Автоматически: надстройку Analysis ToolPak или скрипт на VBA.

Пример формулы для площади пика методом трапеций (для ячеек B2:B10 и A2:A10):

=СУММПРОИЗВ((B3:B10+B2:B9)/2;(A3:A10-A2:A9))
Как автоматизировать интегрирование в VBA

Sub IntegratePeak()

Dim ws As Worksheet

Dim rngTime As Range, rngIntensity As Range

Dim area As Double, i As Integer

Set ws = ActiveSheet

Set rngTime = ws.Range("A2:A100") ' Диапазон времени

Set rngIntensity = ws.Range("B2:B100") ' Диапазон интенсивности

area = 0

For i = 2 To rngTime.Rows.Count

area = area + (rngIntensity.Cells(i, 1) + rngIntensity.Cells(i - 1, 1)) * _

(rngTime.Cells(i, 1) - rngTime.Cells(i - 1, 1)) / 2

Next i

MsgBox "Площадь пика: " & Round(area, 4)

End Sub>

Добавление вспомогательных элементов

Профессиональная хроматограмма содержит не только кривую, но и дополнительные элементы:

  • 📌 Базовую линию (горизонтальная линия на уровне шума).
  • 🔍 Метки пиков (время удерживания, высота, ширина на половине высоты).
  • 📊 Вторичную ось Y (если на графике несколько каналов детектора).

Чтобы добавить базовую линию:

  1. Найдите среднее значение интенсивности в области шума (например, первые 5 точек).
  2. Добавьте в таблицу столбец с постоянным значением (например, 0.002).
  3. Постройте график для этого столбца и отформатируйте линию серым пунктиром.

Для вторичной оси Y (например, для второго детектора):

  1. Кликните правой кнопкой по ряду данных → Формат ряда данных.
  2. Выберите По вспомогательной оси.
  3. Отформатируйте вторую ось Y (цвет, масштаб) так, чтобы она не сливалась с основной.

Экспорт и сохранение хроматограммы

Готовую хроматограмму можно экспортировать в разных форматах в зависимости от дальнейшего использования:

ФорматРазрешениеКогда использовать
PNG300 dpiДля вставки в документы Word или презентации PowerPoint
PDFВекторноеДля печати или архивного хранения
EMFВекторноеДля редактирования в CorelDRAW или Illustrator
SVGВекторноеДля веб-публикаций с возможностью масштабирования

Чтобы экспортировать график:

  1. Кликните по диаграмме правой кнопкой → Сохранить как рисунок.
  2. Выберите формат и разрешение (для печати используйте 300 dpi).
  3. При сохранении в PDF выберите Файл → Экспорт → Создать PDF/XPS.
⚠️ Внимание: При экспорте в растровые форматы (JPG, PNG) увеличьте размер холста диаграммы в Excel до максимального — это предотвратит пикселизацию мелких деталей (например, подписей пиков).

Автоматизация построения хроматограмм

Если вам регулярно приходится строить хроматограммы по шаблону, автоматизируйте процесс с помощью VBA. Например, следующий макрос создаёт график с заданными параметрами осей и стилем:

Sub BuildChromatogram()

Dim ws As Worksheet

Dim chartObj As ChartObject

Dim timeRange As Range, intensityRange As Range

Set ws = ActiveSheet

Set timeRange = ws.Range("A1:A100") ' Диапазон времени

Set intensityRange = ws.Range("B1:B100") ' Диапазон интенсивности

' Создать график

Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=600, Top:=50, Height:=400)

chartObj.Chart.ChartType = xlLineMarkers

chartObj.Chart.SeriesCollection.NewSeries

chartObj.Chart.SeriesCollection(1).XValues = timeRange

chartObj.Chart.SeriesCollection(1).Values = intensityRange

chartObj.Chart.SeriesCollection(1).Name = "Хроматограмма"

' Настроить оси

With chartObj.Chart.Axes(xlValue)

.MinimumScale = 0

.MaximumScale = 1.2

End With

With chartObj.Chart.Axes(xlCategory)

.HasTitle = True

.AxisTitle.Text = "Время удерживания, мин"

End With

' Оформить график

chartObj.Chart.HasTitle = True

chartObj.Chart.ChartTitle.Text = "Хроматограмма образца №1"

chartObj.Chart.Legend.Delete

End Sub

Чтобы использовать макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (меню Insert → Module).
  3. Запустите макрос через F5 или кнопку на панели.

Для пакетной обработки нескольких файлов сохраните макрос в Personal Macro Workbook — он будет доступен во всех книгах Excel.

FAQ: Частые вопросы о хроматограммах в Excel

Как построить хроматограмму, если данные в текстовом формате (TXT/CSV)?

Импортируйте файл через Данные → Получить данные → Из файла → Из текстового файла. В мастере импорта выберите разделитель (табуляция, запятая) и укажите, что первая строка содержит заголовки. После импорта проверьте формат ячеек: время должно быть числовым, а не текстом.

Почему пики на графике получаются «ступеньками», а не гладкими?

Это происходит, если данные имеют низкое разрешение по времени (мало точек на пик). Решения:

  • Увеличьте частоту съёма данных в хроматографе (если возможен повторный анализ).
  • Используйте интерполяцию в Excel: добавьте промежуточные точки с помощью функции ТЕНДЕНЦИЯ() или ЛИНЕЙН().
Можно ли в Excel рассчитать параметры пика (высота, ширина, асимметрия)?

Да, для этого:

  • Высота пика: =МАКС(диапазон_интенсивности).
  • Время удерживания: найдите время, соответствующее максимальной интенсивности (функция ПОИСКПОЗ()).
  • Ширина на половине высоты: найдите точки, где интенсивность равна половине максимума, и вычтите их времена.
  • Асимметрия: = (Время_спада - Время_макс) / (Время_макс - Время_фронта).

Для автоматизации используйте Analysis ToolPak (меню Файл → Параметры → Надстройки).

Как совместить на одном графике хроматограммы с разным масштабом по Y?

Используйте вторичную ось Y:

  1. Постройте график для первого ряда данных.
  2. Добавьте второй ряд (правая кнопка → Выбрать данные).
  3. Кликните правой кнопкой по второму ряду → Формат ряда данныхПо вспомогательной оси.
  4. Отформатируйте вторую ось Y (цвет, масштаб) так, чтобы она визуально отличалась от основной.
Как сохранить шаблон хроматограммы для повторного использования?

Создайте шаблон книги Excel:

  1. Постройте и оформите хроматограмму в новой книге.
  2. Удалите исходные данные, оставив только заголовки столбцов.
  3. Сохраните файл как Шаблон Excel (*.xltx) через Файл → Сохранить как.
  4. При следующем использовании откройте шаблон и вставьте новые данные.

Для автоматизации с макросами сохраните файл как *.xlsm и включите поддержку макросов.