Тренинг Платформа Engee (LTC/MBD)
Язык Julia
Практика по работе с графиками: Свадьбы в Эдинбурге
Предварительно будет полезно изучить файл data/edinburgh_marriages.xlsx собственными глазами. Попробуйте его скачать и открыть локально в вашем табличном редакторе.
В этом датасете хранятся данные о количестве зарегистрированных браков в городе Эдинбург, Шотландия. Построим наглядный график изменения этой величины.
Шаг 1
Прочитать один лист таблицы Excel в переменную DataFrame вам поможет следующая команда: df = DataFrame( XLSX.readtable("data/file.xlsx", "Sheet1") )
Импортируйте первые два столбца из первого листа этой таблицы (Sheet1) в переменную df.
Вам нужны будут следующие атрибуты:
-
first_row=10чтобы указать, интересующие нас данные начинаются с 10-ой строчки, -
header=falseчтобы указать, что первую строку таблицы не нужно интерпретировать как названия столбцов -
column_labels = ["Years","M"]чтобы задать названия столбцам. -
infer_eltypes = trueчтобы указать, что при открытии таблицы система должна попробовать как можно точнее определить тип данных каждого столбца.
using DataFrames, XLSX;
# Впишите ваш код
Подсказка
Команде XLSX.readtable первым аргументом нужно передать название файла data/edinburgh_marriages.xlsx, затем – название листа Sheet1, а потом – строку аргументов first_row=10, header=false, column_labels=["Years","M"], infer_eltypes=true.
Решение
df = DataFrame(XLSX.readtable( "data/edinburgh_marriages.xlsx", "Sheet1", first_row=10, header=false, column_labels=["Years","M"], infer_eltypes=true ))
Шаг 2
1. Выведите график зависимости количества заключенных браков от рассматриваемого года при помощи функции plot.
2. Затем добавьте к графику аргумент linestyle (или ls) равный :dash, чтобы построить график при помощи пунктира
Подсказка
Скорее всего, вы уже загрузили все нужные библиотеки в прошлых упражнениях. На всякий случай напоминаем, что перед выводом графика при помощи команды plot() нужно загрузить соответствующую библиотеку командой using Plots.
Решение
using Plots;
plot( df.Years, df.M, ls=:dash )
Шаг 3
При помощи команды plot! измените свойства отображения графика, указав следующие аргументы: xlabel, ylabel, title, legend.
Подсказка
Передайте значения подписей в качестве аргументов команды plot!(), используя синтаксис аргумент = "строка".
Решение
plot!( xlabel="Год", ylabel="Количество браков",
title="Количество браков в Эдинбурге, 1626-1800",
legend=:none )
Шаг 4
Добавьте еще один график для тех данных, но теперь при помощи функции scatter!. Укажите аргументы: markersize = 3, markershape = :x и markerstrokecolor = :red.
Подсказка
Передайте в функцию scatter! те же два вектора, что и в plot, и затем – строку аргументов markersize = 3, markershape = :x, markerstrokecolor = :red.
Решение
scatter!( df.Years, df.M, markersize=3, markershape=:x, markerstrokecolor=:red )
Шаг 5
Сохраните последний полученный график при помощи команды png(), указав в качестве аргумента название файла (только название, без расширения png).
Подсказка
Просто вызовите функцию png с желаемым именем файла в качестве параметра-строки, например "график".
Решение
png( "график" );