Введение
В этом проекте вы научитесь создавать статистическую диаграмму урожайности сельскохозяйственных культур в городе за последние пять лет с использованием ECharts. Цель проекта - показать, как практические проблемы могут быть проанализированы с помощью статистики урожайности сельскохозяйственных культур, которая напрямую влияет на жизнь людей.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- настраивать проектную среду и понимать предоставленные файлы;
- получать данные из JSON-файла и обрабатывать их для обновления визуализации ECharts;
- настраивать внешний вид и макет линейной и круговой диаграмм.
🏆 Достижения
После завершения этого проекта вы сможете:
- использовать библиотеку Axios для получения данных из JSON-файла;
- манипулировать объектом параметров ECharts для обновления визуализации;
- настраивать диаграммы, настраивая заголовок, макет и другие свойства.
Настройка структуры проекта
В этом шаге вы настроите структуру проекта и подготовите необходимые файлы и папки.
Откройте папку проекта в вашем редакторе кода. Структура каталогов следующая:
├── data.json
├── index.html
└── js
├── axios.min.js
└── echarts.min.js
где:
index.html- главная страница.js/echarts.min.js- файл ECharts.js/axios.min.js- файл axios.data.json- данные о урожае зерновых культур в тоннах за соответствующий год.
Нажмите кнопку Go Live в нижнем правом углу WebIDE, чтобы запустить проект.
Далее откройте "Web 8080" в верхней части ВМ и вручную обновите страницу, чтобы увидеть следующий эффект в вашем браузере:

Получить данные
В этом шаге вы завершите запрос данных и правильно отобразите данные о урожайности сельскохозяйственных культур в линейной и круговой диаграммах.
- В файле
index.htmlнайдите раздел// TODO. - Используйте метод
axios.get()для получения данных из файлаdata.json.
axios.get("./data.json").then((res) => {
let data = res.data.data;
// TODO: Обработать данные и обновить объект параметров
});
- Внутри обратного вызова
.then()обработайте данные из файлаdata.jsonи обновите объектoptionсоответственно.- Создайте объект
dataObjдля хранения данных по каждому типу сельскохозяйственной культуры. - Создайте массив
sourceTipдля хранения меток для данных. - Пройдитесь по данным и заполните массивы
dataObjиsourceTip. - Создайте новый массив
newSourceи заполните его данными изdataObjиsourceTip. - Обновите
option.dataset.sourceмассивомnewSource. - Вызовите
myChart.setOption(option)для обновления диаграммы новыми данными.
- Создайте объект
// TODO
let dataObj = {
wheat: ["wheat"],
soybean: ["soybean"],
potato: ["potato"],
corn: ["corn"]
};
let sourceTip = ["all"];
axios.get("./data.json").then((res) => {
let data = res.data.data;
for (const key1 in data) {
sourceTip.push(key1);
for (const key2 in data[key1]) {
dataObj[key2].push(data[key1][key2]);
}
}
let newSource = [];
newSource.push(sourceTip);
for (const key in dataObj) {
newSource.push(dataObj[key]);
}
option.dataset.source = newSource;
myChart.setOption(option);
});
- Сохраните файл
index.htmlи обновите страницу. Теперь вы должны увидеть обновленные линейную и круговую диаграммы с правильными данными.

Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



