feat: chart2/3/4 + section 5 (regional breakdown)
- chart2_leaders: horizontal ranked bars with highlight & category coloring - chart3_ebitdaGroups: vertical bars colored by sign (green ≥0, orange <0) - chart4_regionCompare: side-by-side bar panels with shared y-scale - document.js: new section 5 'Региональный разрез и эффективность' between sections 4 and 6, renders chart2/3/4 with figure captions - index.js: render hooks for data.leaders, data.ebitda, data.regionComparison - examples/russia.js: demo data for all three new charts
This commit is contained in:
@@ -145,6 +145,59 @@ async function main () {
|
||||
['IV кв. 2026', '30,0', '33,5', '-11,7', '158', { text: 'Пессимистичный', color: 'C0272D' }],
|
||||
]
|
||||
},
|
||||
|
||||
// chart2 — лидеры по цене (горизонтальные бары)
|
||||
leaders: {
|
||||
title: 'Лидеры по закупочной цене',
|
||||
unit: 'руб./кг',
|
||||
highlightName: 'РФ (среднее)',
|
||||
items: [
|
||||
{ name: 'Кабардино-Балкария', value: 49.0 },
|
||||
{ name: 'Брянская обл.', value: 46.5 },
|
||||
{ name: 'Псковская обл.', value: 44.0 },
|
||||
{ name: 'Ленинградская обл.', value: 42.5 },
|
||||
{ name: 'Краснодарский край', value: 40.0 },
|
||||
{ name: 'РФ (среднее)', value: 34.1 },
|
||||
{ name: 'Нижегородская обл.', value: 30.5 },
|
||||
{ name: 'Самарская обл.', value: 29.0 },
|
||||
{ name: 'Республика Татарстан', value: 28.5 },
|
||||
{ name: 'Чувашия', value: 22.0 },
|
||||
],
|
||||
},
|
||||
|
||||
// chart3 — EBITDA-маржа по группам эффективности
|
||||
ebitda: {
|
||||
groups: [
|
||||
{ group: 'A', value: 22.0, label: 'Эффективные', share: '25%' },
|
||||
{ group: 'B', value: 8.5, label: 'Средние', share: '45%' },
|
||||
{ group: 'C', value: -6.0, label: 'Отстающие', share: '30%' },
|
||||
],
|
||||
},
|
||||
|
||||
// chart4 — сравнение регионов (две панели)
|
||||
regionComparison: {
|
||||
unit: 'руб./кг',
|
||||
left: {
|
||||
title: 'Топ-5 по цене',
|
||||
bars: [
|
||||
{ label: 'Кабардино-Балкария', value: 49.0 },
|
||||
{ label: 'Брянская обл.', value: 46.5 },
|
||||
{ label: 'Псковская обл.', value: 44.0 },
|
||||
{ label: 'Ленинградская обл.', value: 42.5 },
|
||||
{ label: 'Краснодарский край', value: 40.0 },
|
||||
],
|
||||
},
|
||||
right: {
|
||||
title: 'Антитоп-5 по цене',
|
||||
bars: [
|
||||
{ label: 'Нижегородская обл.', value: 30.5 },
|
||||
{ label: 'Ивановская обл.', value: 29.8 },
|
||||
{ label: 'Самарская обл.', value: 29.0 },
|
||||
{ label: 'Татарстан', value: 28.5 },
|
||||
{ label: 'Чувашия', value: 22.0 },
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
text: {
|
||||
@@ -172,6 +225,10 @@ async function main () {
|
||||
|
||||
retrospectiveSummary: 'В 2024 году национальный DT-индекс показал стабильный медленный рост: 30,97 → 31,93 руб./кг (+3% за год). В феврале–марте 2025 произошёл резкий скачок: за 10 дней индекс вырос с 32,2 до 38,9 руб./кг (+21%). К апрелю достиг плато 39,8 руб./кг, удерживалось до декабря 2025. В январе–мае 2026 — нисходящая коррекция до 34,1 руб./кг (–13,5% с начала года).',
|
||||
|
||||
regionalSummary: 'Региональный разброс закупочных цен в 2026 г. — рекордный: от 22 руб./кг (Чувашия) до 49 руб./кг (Кабардино-Балкария), спред 27 руб./кг. Высокие цены концентрируются в СКФО и западном поясе ЦФО/СЗФО, где сильна конкуренция переработчиков за сырьё. Низкие — в Поволжье с профицитом сырого молока.',
|
||||
|
||||
efficiencySummary: 'Группа A (эффективные, надой >9 000 кг/гол.) сохраняет двузначную EBITDA-маржу даже при текущих ценах. Группа C (отстающие, надой <6 000 кг/гол.) уже работает в убыток и наиболее уязвима к дальнейшему снижению цены и росту ставки ЦБ.',
|
||||
|
||||
forecastSummary: 'В базовом сценарии большинство производителей сохранят маржу 5–10%. В оптимистичном (цена до 36–37 руб./кг) даже менее эффективные хозяйства выйдут в плюс. В пессимистичном убытки накопят 30–40% предприятий.',
|
||||
|
||||
risks: [
|
||||
|
||||
Reference in New Issue
Block a user