До списку уроків
9 клас · Урок 6 з 16

Дані малюють себе самі: Chart.js із data.json

виконано0%
Крок 1

Що робимо сьогодні

Модуль I · IT Skills (Cloud Services & Documents) · тема 3, урок 2 з 2 · 120 хвилин

На уроці 4 твоя форма зібрала відповіді однокласників. Вони лежать у файлі ~/data/responses.csv. На уроці 5 ти зверстав каркас презентації, а в ньому — два порожні слоти chart1 і chart2. Числа є, місце для них є. Немає самих діаграм.

Мета сьогодні. Заповнити ці два слоти живими діаграмами. Живими — бо це не картинка, яку ти намалював і вставив. Це код. Він щоразу бере числа з файлу data.json і малює діаграму заново.

Друга половина уроку — про чесність. Діаграма вміє брехати, не змінивши жодного числа: досить обрізати вісь або переставити стовпчики місцями. Ти навчишся впізнавати такі діаграми й перевіриш власні дві тим самим набором питань.

Після уроку ти вмієш

Слова Chart.js, fetch і «обрізана вісь» поки нічого не означають. Розберемо їх по черзі.

Chart.js лежить у тебе на сервері, а не в інтернеті Жодного <script src="https://cdn…">. Бібліотека — це один файл chart.min.js (близько 200 КБ), він живе поруч із презентацією в ~/www/deck/assets/. У класі без мережі презентація з CDN просто не відкриється — а це той самий кабінет, у якому ти виступатимеш.

Хід уроку

ЕтапХвЩо робимо
Розминка10Переписані заголовки слайдів з ДЗ уроку 5
Тип даних → тип діаграми20Дерево рішень, кругова проти стовпчикової
Як брехати діаграмою20Обрізана вісь, 3D, сортування, одиниці
JSON як джерело істини15Анатомія конфігурації Chart.js і fetch
Практика: дві діаграми40Свої дані в слоти chart1 і chart2
Чесність і джерело10Слайд «звідки дані»: скільки людей, коли зібрано
Автоперевірка і підсумок5check 06 --why
Разом120
Що ти здаєш по FTP deck/data.json — реальні числа з твого опитування; deck/index.html — оновлена презентація з двома живими діаграмами різних типів; deck/deck.meta.json — паспорт презентації. Плюс сама бібліотека deck/assets/chart.min.js. Усе це — текст, FTP-приймальня приймає такі файли без питань.
Тека зветься deck/, а урок — шостий Теки практики звуться за темою, а не за номером уроку. Тема 3 — це уроки 5 і 6, і обидва складають роботу в одну теку ~/www/deck/. Не шукай lesson-06: її немає.
Крок 2

Тип даних визначає тип діаграми

Спочатку питання «що я хочу, щоб глядач побачив», потім — форма

Діаграма — це не прикраса слайда. Це інструмент порівняння. Числа перетворюються на довжини стовпчиків, кути секторів або точки на шкалі. Глядач бачить різницю очима й не рахує в голові. Тому тип діаграми обирають не за смаком. Спершу вирішуєш, що саме глядач має порівняти.

ТипЩо кодує числоКоли братиКоли не брати
Стовпчики
bar
довжина від нуля порівняти між собою окремі категорії: предмети, міста, варіанти відповіді коли категорія — це час і важлива форма кривої
Горизонтальні стовпчики
bar + indexAxis: 'y'
довжина від нуля те саме, але категорій багато або в них довгі назви практично не буває помилкою там, де підходять звичайні стовпчики
Лінія
line
позиція точки і нахил зміна однієї величини в часі: дні, тижні, місяці коли по осі X не час, а незалежні категорії — лінія натякне на зв’язок, якого немає
Кругова
pie / doughnut
кут і площа сектора 2—3 частки одного цілого, різниця між якими очевидна майже завжди: див. наступний блок
Точкова
scatter
дві позиції: X і Y перевірити зв’язок двох чисел одного об’єкта: години сну і оцінка коли в об’єкта лише одне число — тоді нема що ставити по X

Дерево рішень

Пройди його зверху вниз для кожного зі своїх трьох дослідницьких питань з уроку 3. Відповідь — це і є тип діаграми для цього слайда.

Що саме має побачити глядач? порівняти показати зміну показати частки перевірити зв’язок категорії між собою в часі одного цілого двох величин Категорій більшеза сім? Точки йдутьрівним кроком у часі? Частин не більше трьохі різниця явна? У кожного об’єктарівно два числа? ні → стовпчикивертикальні так → лінійнадіаграма так → круговаз підписами часток так → точковадіаграма так → стовпчикигоризонтальні ні → це не час:повернись ліворуч ні → стовпчикиу відсотках ні → одне число:повернись ліворуч Дві праві гілки найчастіше повертають на ліву: більшість шкільних опитувань — це порівняння категорій. Стовпчики — не «нудний» вибір, а найточніший: око порівнює довжини від спільної нульової лінії краще за все інше.
Дерево читається зверху вниз: спершу мета, потім кількість категорій, і аж наприкінці — тип. Якщо ти обираєш тип першим, ти підганяєш дані під картинку, а не навпаки.
Питання

Твоя форма працювала тиждень. Ти хочеш показати на слайді, як щодня росла кількість заповнень. Ось вони: 3, 5, 4, 9, 14, 6, 2. Який тип діаграми і чому саме він?

Питання

Питання «твій улюблений предмет» дало 12 різних відповідей. Назви довгі: «Захист України», «Зарубіжна література». Треба показати, які три найпопулярніші. Що ставиш на слайд?

Крок 3

Чому кругову майже завжди краще замінити стовпчиками

Це не мода дизайнерів, а вимірюваний факт про людське око

У 1984 році Вільям Клівленд і Роберт Мак-Ґілл поставили дослід. Людям показували графіки й питали одне: у скільки разів одна величина більша за іншу?

Найточніше око вгадувало, коли числа стояли позиціями на спільній шкалі. Довжину воно читало трохи гірше. А кут — приблизно вдвічі гірше за позицію. Площу — ще гірше.

Кругова діаграма кодує число кутом і площею сектора. Це два найгірші способи зі списку. А стовпчикова кодує його довжиною від спільної нульової лінії — одним із найкращих.

кругова: спробуй оком стовпчики: ті самі числа А Б В Г Д Що більше — А чи В? А наскільки? АБ ВГ Д 24% 21% 20% 19% 16% Порядок і розрив видно одразу, вгадувати не треба
Числа однакові: 24, 21, 20, 19 і 16 відсотків. На круговій п’ять кутів по 58—86 градусів око розрізняє насилу; на стовпчиках усі п’ять довжин починаються від однієї лінії, і різниця в один відсоток читається без зусиль.

Коли кругова все-таки доречна

Три ознаки кругової, яку треба переробити Секторів більше семи; сума часток не 100% (питання допускало кілька відповідей); є сектор «інше», більший за третину. У всіх трьох випадках горизонтальні стовпчики зроблять ту саму роботу чесніше.
Питання

На круговій діаграмі два сектори — 22% і 19%. Половина класу впевнена, що більший перший, половина — що другий. На стовпчиках із тими самими числами сперечатися не було б про що. Що саме сталося?

Крок 4

Як збрехати правдивими числами

Найсильніша ілюстрація уроку: одні й ті самі два числа, дві діаграми, два протилежні висновки

Уяви заголовок у новинах: «Розрив між нами і конкурентом величезний». Під ним — діаграма з двома стовпчиками, і правий явно втричі вищий. А самі числа підписані чесно: 48 і 52. Ніхто не збрехав жодною цифрою — збрехала вісь.

вісь від нуля вісь від 46 — ті самі числа 020 4060 4852 миконкурент різниця 4 із 52 — це 8%, і вона так і виглядає 4648 5052 54 4852 миконкурент правий стовпчик утричі вищий — око бачить «утричі більше» Коефіцієнт перебільшення = видиме відношення 3,00 ÷ справжнє відношення 1,08 ≈ 2,8
Праворуч висота стовпчика показує не значення, а «скільки над 46». Стовпчик кодує число довжиною — тож довжина зобов’язана рахуватися від нуля. Приберемо нуль — і довжина перестає означати те, що вона начебто означає.

Коефіцієнт перебільшення

Його можна порахувати. Береш два стовпчики. Дивишся, у скільки разів один виглядає вищим за інший. І ділиш це на те, у скільки разів він більший насправді:

рахуємо на прикладі 48 і 52 з обрізаною віссю від 46
видима висота: 52 − 46 = 6 48 − 46 = 2 → 6 ÷ 2 = 3,00 справжні числа: 52 ÷ 48 = 1,08 перебільшення: 3,00 ÷ 1,08 = 2,78

Одиниця означала б чесну діаграму. Усе, що помітно більше за одиницю, — це вже не «краще видно різницю», а перебільшення. У конструкторі нижче цей коефіцієнт рахується для твоїх власних даних просто на очах.

Питання

У новинах показали графік, де стовпчик конкурента вдвічі нижчий за наш, хоча підписані числа — 48 і 52. Жодне число не перебріхане. Як таке взагалі можливо?

«Але ж я підписав вісь»

Це найпоширеніше виправдання, і воно працює гірше, ніж здається. Коррелл, Бертіні й Франконері перевірили це дослідом. Що вище починається вісь, то більшою людям здається різниця. Позначка про обрізання майже не допомагає. Хоч зигзаг малюй, хоч підпис став: перше враження вже склалося з довжини стовпчиків.

Тип діаграмиВісь значень має починатися з нуля?Чому
СтовпчиковаТак, завжди число закодоване довжиною; довжина без нуля нічого не означає
Лінійна (часовий ряд)Не обов’язково, але підпиши тут значення кодує позиція точки, а важлива форма кривої; курс валюти від нуля — просто пряма лінія
ТочковаНе обов’язково показує зв’язок двох величин, а не їхню абсолютну величину
КруговаПитання не виникає у неї немає осі; ціле — це завжди 100%
У Chart.js це один рядок options.scales.y.beginAtZero. Для стовпчиків він має бути true. Якщо в твоєму конфізі стоїть min: 46 або beginAtZero: false на стовпчиках — автоперевірка це побачить. Критерій лишиться відкритим, поки вісь не почнеться з нуля. Виправив рядок, перезалив файл — і перевіряй знову, спроби не обмежені.
Питання

Ти зробив стовпчики з віссю від 46 — «щоб краще було видно різницю». Вісь при цьому підписав чесно й додав значок розриву. Однокласник каже: «все чесно, ти ж нічого не сховав». Хто має рацію?

Крок 5

Ще три способи, якими діаграма викривляє правду

3D-ефект, порядок категорій і зникла одиниця виміру

Спосіб перший: 3D

Об’ємний стовпчик має два верхні краї — передній і задній. Значення відкладене по задньому, а око читає передній, бо він ближче й контрастніший. Помилка виходить не випадковою: усі стовпчики «недораховуються» на однакову висоту, і відсотково найдужче страждає найменший.

плоский стовпчик той самий стовпчик у 3D 02550 02550 верх стовпчика точно на лінії 50 око читає тут: 44 значення 50 — аж тут та сама висота, помилка читання 12%
У 3D-круговій ще гірше: перспектива розтягує передні сектори й тисне задні, тож сектор на 20% попереду може виглядати більшим за сектор на 25% позаду. Chart.js 3D не вміє взагалі — і це його перевага.

Спосіб другий: порядок категорій

Дані ті самі, стовпчики ті самі, вісь від нуля — а висновок різний. Причина в тому, що око шукає сусідів. У неупорядкованому ряду воно порівнює кожен стовпчик із тим, що стоїть поруч. Найбільший стовпчик, який опинився далеко від сусіда-суперника, око легко пропускає.

у порядку полів форми відсортовано за спаданням АБВ ГДЕ БЕГ АДВ 593 748 987 543 «приблизно однаково, трохи стрибає» «Б і Е попереду, В зовсім позаду»
Сортування — не обман, а рішення. Для категорій сортуй за значенням: так відповідь на питання «хто перший» видно без зусиль. Для часу й для впорядкованих шкал («до 1 год», «1—2», «2—4») порядок міняти не можна взагалі — він частина сенсу.
Питання

Ти показав однокласникам дві діаграми зі своїх даних. Числа однакові, обидві осі від нуля, типи однакові. Після першої вони сказали «усе приблизно рівно», після другої — «біологія явно попереду». Що ти зробив між ними?

Спосіб третій: число без одиниці

Підпис «Математика — 9» не означає нічого. Дев’ять чого: людей, відсотків, годин, балів? Якщо на слайді не написано, глядач додумає сам — і майже завжди додумає на твою користь, а потім образиться.

Що підписатиДе це в Chart.jsПриклад
Назву діаграми — тезою, а не темоюoptions.plugins.title.text «Половина класу спить менше 7 годин», а не «Сон»
Одиницю по осі значеньoptions.scales.y.title.text осіб (усього 24)
Що по осі категорійoptions.scales.x.title.text годин сну за добу
Джерело і дату зборуокремий слайд або підпис під діаграмою «власне опитування 9-А, 24 відповіді, 12—14 лютого 2026»
Відсотки від малої вибірки Якщо респондентів 24, то «12,5%» — це рівно три людини. Писати відсотки з десятими від такої вибірки нечесно: вони створюють ілюзію точності. Пиши «3 з 24» або «≈13%», і обов’язково показуй загальну кількість.
Питання

На слайді кругова діаграма: «Так — 62,5%, Ні — 37,5%». Учитель питає, скільки людей ти опитав. Ти відповідаєш: «вісьмох». Що не так із підписами на цьому слайді?

Крок 6

Діаграма, яку прочитають усі

Проєктор вицвітає, принтер друкує сірим, а близько 8% хлопців погано розрізняють червоне й зелене

Твоя діаграма поїде на проєктор у кабінеті, де світло з вікна, і, можливо, на роздруківку. Це той самий випадок, що й контраст 4,5:1 з минулого уроку. Правило зроблене не для «особливих» глядачів, а для звичайних умов.

Чотири правила

ПравилоЩо це означає на практиці
Не тільки колір колір може бути єдиною ознакою лише як дублювання. Легенда «синій — 9-А, зелений — 9-Б» на вицвілому проєкторі не читається; підпиши серії просто біля лінії або стовпчика
Підписуй значення число прямо на стовпчику знімає половину питань і рятує, коли шкала розмита. Chart.js сам цього не робить — потрібен крихітний плагін (він нижче)
Контраст текст на діаграмі — не менше 4,5:1 до тла, самі стовпчики й лінії — не менше 3:1. Це ті самі критерії WCAG, що й для тексту слайда
Текстова альтернатива <canvas> для скрінрідера — порожня пляма. Дай aria-label з висновком одним реченням, а поруч — підпис із числами
слот діаграми на слайді: доступний варіант
<figure class="chart-slot"> <canvas id="chart1" role="img" aria-label="Стовпчикова діаграма: найбільше відповідей — 2—4 години, 8 із 24"></canvas> <figcaption>Скільки годин на день у телефоні · 24 відповіді · 12—14.02.2026</figcaption> </figure>
Перевір себе за 10 секунд Зроби скріншот діаграми й знеколіри його (у будь-якому редакторі — «відтінки сірого»). Якщо після цього неможливо сказати, де яка серія, — діаграма тримається лише на кольорі, і її треба переробити.
Питання

Твоя лінійна діаграма має дві лінії: 9-А і 9-Б. Різняться вони лише кольором — синя й зелена, а хто є хто, написано в легенді збоку. На проєкторі в класі однокласник не може сказати, яка лінія чия. Найдешевше виправлення?

Крок 7

Chart.js: три ключі й один fetch

Дані живуть у data.json, код живе в index.html, і вони ніколи не змішуються

Chart.js — це бібліотека, яка малює діаграму на елементі <canvas>. Ти описуєш словами, що хочеш побачити, вона рахує пікселі. Уся конфігурація — це один об’єкт із трьох ключів: type, data і options.

new Chart(document.getElementById('chart1'), { type: 'bar', data: { labels: ['до 1','1—2','2—4'], datasets: [{ label: 'осіб', data: [2, 5, 8] }] }, options: { plugins: { title: { display: true, text: '…' } }, scales: { y: { beginAtZero: true } } } }); type — форма діаграми: 'bar' 'line' 'pie' 'scatter' labels — підписи категорій, те, що стоїть по осі X data — самі числа. Їх має бути рівно стільки ж, скільки labels title — теза слайда: «Половина спить менше 7 годин» beginAtZero: true — чесна вісь. Для стовпчиків обов’язково type — що малювати · data — з чого малювати · options — як саме показати. Третій ключ найдовший, і саме в ньому живе чесність.
Масиви labels і data зв’язані за порядком: перший підпис стосується першого числа. Якщо їх різна кількість, Chart.js не впаде — він мовчки намалює зайву порожню категорію.
Питання

У твоєму конфізі labels має 5 елементів, а data — 4. Сторінка відкривається, помилок у консолі немає, діаграма намалювалася. Що ти побачиш на слайді?

Чому дані окремо від коду

Числа можна було б вписати прямо в масив data. Так роблять — і потім страждають. Прийшла нова відповідь у форму — лізь у HTML, шукай потрібний рядок серед розмітки, виправляй вручну.

Один раз забудеш — і слайд покаже старі числа. Помилка тиха: сторінка працює, просто каже неправду.

data.json fetch Chart.js <canvas> твої числа браузер бере файл рахує пікселі слайд презентації тут ти правиш число а тут не змінюється жоден рядок коду Учитель на здачі поміняє одне число у твоєму data.json і перезавантажить слайд. Діаграма мусить перемалюватися сама.
Це і є критерій cross в автоперевірці: сторінка має справді робити мережевий запит по data.json, а не тримати копію чисел у розмітці.

Як виглядає data.json

Формат придумуєш ти сам — це твій файл. Головне, щоб він був валідним JSON і щоб у ньому був паспорт даних: скільки людей, коли зібрано, звідки. Ось робочий каркас:

deck/data.json
{ "meta": { "source": "власне опитування 9-А", "collected": "2026-02-12/2026-02-14", "respondents": 24 }, "charts": { "chart1": { "type": "bar", "title": "Скільки годин на день ти в телефоні", "unit": "осіб", "labels": ["до 1", "1—2", "2—4", "4—6", "понад 6"], "values": [2, 5, 8, 6, 3] }, "chart2": { "type": "line", "title": "Скільки відповідей приходило щодня", "unit": "відповідей", "labels": ["пн", "вт", "ср", "чт", "пт", "сб", "нд"], "values": [3, 5, 4, 9, 14, 6, 2] } } }

Числа в прикладі — демонстраційні: сума values у першій діаграмі дорівнює 24, тобто respondents. У твоєму файлі мають бути свої числа. Вони мають сходитися з файлом ~/data/responses.csv — тим, який зібрала твоя форма на уроці 4.

Код, який це читає

deck/index.html — перед закриттям body
<script src="assets/chart.min.js"></script> <script> fetch('data.json') .then(r => r.json()) .then(d => { const c = d.charts.chart1; new Chart(document.getElementById('chart1'), { type: c.type, data: { labels: c.labels, datasets: [{ label: c.unit, data: c.values }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { title: { display: true, text: c.title }, legend: { display: false } }, scales: { y: { beginAtZero: true, title: { display: true, text: c.unit } } } } }); }) .catch(e => console.error('data.json не завантажився:', e)); </script>
Три пастки, на які наступають усі 1. Файл відкрито подвійним кліком. З адресою file:///… fetch не працює: браузер блокує читання сусіднього файлу. Підніми локальний сервер — і адреса стане http://localhost:8000.
2. PowerShell 5.1 пише UTF-16. Команда щось > data.json створить файл, який чекер прочитати не зможе.
3. Порожній <canvas> у прихованому слайді. reveal.js ховає неактивні слайди, і Chart.js може порахувати розмір як нуль.
локальний сервер: без нього fetch не працює
$ cd deck $ python -m http.server 8000 # далі відкрий у браузері http://localhost:8000/ # у деяких системах команда зветься python3
збереження data.json без пастки з кодуванням
# Windows PowerShell 5.1 — інакше вийде UTF-16 $ node build-data.js | Out-File -Encoding utf8 data.json # Git Bash, macOS, Linux $ node build-data.js > data.json # перевірка, що JSON валідний — працює скрізь $ python -m json.tool data.json
А BOM? -Encoding utf8 у PowerShell 5.1 додає на початок файлу невидимий маркер BOM. Більшість JSON-парсерів його пробачають, але не всі. Найнадійніше — просто набрати data.json руками у своєму редакторі й зберегти як UTF-8 без BOM: файл маленький, це швидше, ніж потім шукати помилку.

Розмір canvas у reveal.js

Дай слоту фіксовану висоту в CSS і скажи Chart.js не тримати співвідношення сторін. Тоді діаграма займе слот, а не нуль пікселів:

deck.css
.chart-slot { position: relative; height: 60vh; margin: 0; } .chart-slot canvas { width: 100% !important; height: 100% !important; }

Підписи значень: маленький плагін

У самого Chart.js підписів значень немає — тільки підказка при наведенні, а на слайді ніхто мишкою не водить. Ось плагін на десять рядків, який малює число над кожним стовпчиком:

плагін valueLabels: підпис над кожним стовпчиком
const valueLabels = { id: 'valueLabels', afterDatasetsDraw(chart) { const ctx = chart.ctx; ctx.save(); ctx.font = '600 13px sans-serif'; ctx.fillStyle = getComputedStyle(document.body).color; ctx.textAlign = 'center'; chart.getDatasetMeta(0).data.forEach((el, i) => { ctx.fillText(chart.data.datasets[0].data[i], el.x, el.y - 7); }); ctx.restore(); } }; // підключається третім аргументом конфігурації: // new Chart(canvas, { type, data, options, plugins: [valueLabels] })
Питання

На очній здачі вчитель відкриє твій data.json, змінить одне число, збереже й перезавантажить слайд. Що має статися — і що станеться, якщо ти продублював числа ще й у масиві data всередині HTML?

Крок 8

Конструктор діаграми

Устав свої дані, покрути перемикачі — і забери готовий data.json та конфіг Chart.js, які вже узгоджені між собою

Ця сторінка малює діаграму власним кодом, без Chart.js: вона має відкриватися будь-де, навіть без мережі. Але конфігурацію вона генерує справжню — ту, яку ти вставиш у deck/index.html. Спробуй увімкнути «обрізати вісь Y» і подивись, що напише блок перевірки.

тип діаграми що робимо з показом заголовок — тезою одиниця виміру
deck/data.json — тільки дані
deck/index.html — тільки код
Як цим користуватися на практиці Візьми свої числа з уроку 4, встав їх сюди, добери тип за деревом рішень із кроку 2, увімкни підписи значень — і скопіюй обидва блоки: перший у data.json, другий у index.html. Далі правиш руками: конструктор дає каркас, а не готову здачу.
Питання

Ти ввімкнув «обрізати вісь значень», і конструктор написав: «коефіцієнт перебільшення 4,1». Що це число означає для глядача, який побачить твій слайд?

Крок 9

Що саме їде на сервер

Чотири файли в теці ~/www/deck/, усі — легкі й текстові

ФайлЩо в ньомуЗвідки береться
data.jsonтвої числа й паспорт даних зводиш зі свого stats.json і ~/data/responses.csv з теми 2
index.htmlпрезентація з уроку 5 плюс fetch і два конфіги дописуєш до того, що вже здав
deck.meta.jsonпаспорт презентації для перевірки пишеш руками, звіряючи з тим, що реально в DOM
assets/chart.min.jsсама бібліотека, ≈200 КБ копіюєш із /opt/school/vendor/chartjs/ або завантажуєш у себе й заливаєш по FTP
deck/deck.meta.json
{ "title": "Скільки спить 9-А", "author": "Іван Ковальчук", "slides_count": 9, "charts": [ { "type": "bar", "data_field": "chart1" }, { "type": "line", "data_field": "chart2" } ], "source": "власне опитування 9-А, 24 відповіді, 12—14 лютого 2026" }

Поле charts має описувати рівно ті типи, які чекер знайде на сторінці. У deck.meta.json написано "pie", а в коді стоїть type: 'bar'? Тоді критерій json_schema лишиться відкритим, поки паспорт і код не зійдуться. І це не прискіпливість: паспорт, який розходиться з роботою, гірший за відсутній.

Слайд «звідки дані»

У презентації має бути окремий слайд із методикою. Три речення, які на ньому обов’язкові:

Що по FTP не піде і чому Файл ~/data/responses.csv лишається в приватній теці. Це відповіді однокласників: у ~/www/ вони стануть доступні всьому інтернету. У data.json кладуть лише зведені числа — скільки людей обрало кожен варіант, — і жодного рядка, за яким можна впізнати конкретну людину.
розкладаємо файли після FTP-завантаження
$ mkdir -p ~/www/deck/assets $ mv ~/upload/data.json ~/upload/deck.meta.json ~/upload/index.html ~/www/deck/ $ cp /opt/school/vendor/chartjs/chart.min.js ~/www/deck/assets/ $ chmod 644 ~/www/deck/*.json ~/www/deck/*.html ~/www/deck/assets/*.js $ ls -la ~/www/deck/ index.html data.json deck.meta.json deck.css outline.md assets/
Крок 10

Практика: дві живі діаграми в презентації

Кроки 1—9 — у себе на комп’ютері, кроки 10—12 — на сервері. Галочки зберігаються, сторінку можна закрити.

Дві діаграми мають бути різних типів Автоперевірка дивиться на type кожної діаграми і вимагає, щоб вони не збіглися. Дві стовпчикові — це один критерій не пройдено, навіть якщо обидві бездоганні.
Крок 11

Автоперевірка

Чекер не оцінює красу. Він звіряє твої числа з твоїм же responses.csv і дивиться, чи діаграма справді жива. Спроби не обмежені.

Демонстраційний режим: результат згенеровано для показу. На сервері ця кнопка викликає POST /api/check, який запускає check 06 від імені учня.

Що вчитель робить на твоєму екрані

Крок 12

Шкала виконання

Це те, що бачить учитель, коли виставляє оцінку.

СкладникВагаРезультат
Виконано
0%
Рекомендований бал за 12-бальною

Чотири речення, які варто запам’ятати

Де найчастіше помиляються

Домашнє завдання

Додай третю діаграму на слайд «висновок» — типу, якого ще немає в презентації. І допиши в ~/www/deck/outline.md один абзац на два питання. Який висновок із твоїх даних виявився несподіваним? Яке число тебе здивувало?

Пиши конкретно, з числами. «Усі багато сидять у телефоні» — так не годиться. А от так годиться: «я думав, що більшість спить менше 7 годин. Таких виявилося 9 із 24 — менше половини». І другим реченням: «зате 6 людей із 24 лягають після опівночі».

Джерела

Звідки взяті твердження й числа

Усе, що на цій сторінці подано як факт, має джерело. Перевіряти дозволено й корисно.

Повний список із поясненнями, що звідки взято, — у файлі urok-06-джерела.md поруч із цією сторінкою.