import matplotlib.pyplot as plt
import matplotlib.patches as patches
def draw_priority_comparison():
fig, ax = plt.subplots(figsize=(12, 8), dpi=300)
ax.set_xlim(0, 12)
ax.set_ylim(0, 10)
ax.axis('off')
# Общий фундамент
base_rect = patches.FancyBboxPatch((4, 8), 4, 1.2, boxstyle="round,pad=0.1",
edgecolor='black', facecolor='#f0f0f0', linewidth=2)
ax.add_patch(base_rect)
ax.text(6, 8.7, "ЦИФРОВОЙ\nТЕХНОЛОГИЧЕСКИЙ СТЕК", ha='center', va='center', fontsize=11, fontweight='bold')
ax.text(6, 8.2, "(Инфраструктура, ПО, Данные)", ha='center', va='center', fontsize=9, style='italic')
# ЛЕВАЯ ВЕТКА: БИЗНЕС-МОДЕЛЬ
ax.text(2.5, 7.2, "КОРПОРАТИВНЫЙ СЕКТОР\n(Business-driven)", ha='center', fontsize=10, fontweight='bold')
# Блок Б1
draw_box(ax, 0.5, 5, 4, 1.5, "ОПТИМИЗАЦИЯ ПРОДАЖ", "Маркетинг, CRM, воронки,\nснижение операционных издержек")
# Блок Б2
draw_box(ax, 0.5, 3, 4, 1.2, "КОММЕРЧЕСКАЯ ТРАНЗАКЦИЯ", "Продажа продукта или сервиса")
# Блок Б3 (Финал)
draw_box(ax, 0.5, 0.5, 4, 1.5, "ПРИБЫЛЬ И ДОЛЯ РЫНКА", "Максимизация ROI,\nкапитализация компании", is_goal=True)
# ПРАВАЯ ВЕТКА: УНИВЕРСИТЕТ
ax.text(9.5, 7.2, "УНИВЕРСИТЕТ (ЦУ)\n(Knowledge-driven)", ha='center', fontsize=10, fontweight='bold')
# Блок У1
draw_box(ax, 7.5, 5, 4, 1.5, "ОБРАЗОВАТЕЛЬНАЯ СРЕДА", "LMS, методики, аналитика,\nкогнитивная вовлеченность")
# Блок У2
draw_box(ax, 7.5, 3, 4, 1.2, "РАЗВИТИЕ КОМПЕТЕНЦИЙ", "Формирование знаний и навыков")
# Блок У3 (Финал)
draw_box(ax, 7.5, 0.5, 4, 1.5, "ЧЕЛОВЕЧЕСКИЙ КАПИТАЛ", "Новые знания, востребованность,\nсоциальное влияние", is_goal=True)
# СТРЕЛКИ
arrow_props = dict(arrowstyle='->', color='black', linewidth=1.5, mutation_scale=20)
# От базы к веткам
ax.annotate('', xy=(2.5, 6.7), xytext=(5, 8), arrowprops=arrow_props)
ax.annotate('', xy=(9.5, 6.7), xytext=(7, 8), arrowprops=arrow_props)
# Путь бизнеса
ax.annotate('', xy=(2.5, 4.3), xytext=(2.5, 5), arrowprops=arrow_props)
ax.annotate('', xy=(2.5, 2.1), xytext=(2.5, 3), arrowprops=arrow_props)
# Путь университета
ax.annotate('', xy=(9.5, 4.3), xytext=(9.5, 5), arrowprops=arrow_props)
ax.annotate('', xy=(9.5, 2.1), xytext=(9.5, 3), arrowprops=arrow_props)
plt.title('СХЕМА №6: СРАВНЕНИЕ МОДЕЛЕЙ СОЗДАНИЯ ЦЕННОСТИ В ЦИФРОВОЙ СРЕДЕ', fontsize=14, fontweight='bold', pad=20)
plt.tight_layout()
plt.savefig('priority_comparison.png')
plt.show()
def draw_box(ax, x, y, w, h, title, desc, is_goal=False):
edge_w = 2 if is_goal else 1
rect = patches.Rectangle((x, y), w, h, edgecolor='black', facecolor='white', linewidth=edge_w)
ax.add_patch(rect)
ax.text(x + w/2, y + h*0.7, title, ha='center', va='center', fontsize=9, fontweight='bold')
ax.text(x + w/2, y + h*0.3, desc, ha='center', va='center', fontsize=8)
draw_priority_comparison()