Многогранность Plot
Приведённый ниже код на языке программирования Engee предназначен для построения графиков двух функций и с использованием пакета Plots.
x = 0:0.1:10
y1 = sin.(x)
y2 = cos.(x)
Цель демонстрации заключается в показе максимального количества возможных параметров настройки внешнего вида графика. Этот пример охватывает практически весь диапазон визуализации, доступный в пакете, начиная от базовых настроек вроде цвета и толщины линий, заканчивая сложными параметрами оформления, такими как сетка, маркеры, прозрачность элементов и оформление границ.
Благодаря использованию большого числа параметров графика становится выразительным и информативным, позволяя подчеркнуть важные аспекты данных. Такой подход идеально подходит для подробного изучения возможностей пакетного построения графиков в Engee и достижения высокой точности визуализации данных.
# Построение графика с максимальным количеством параметров
plot(x, y1,
label = "sin(x)", # Подпись для легенды
title = "График функций", # Заголовок
xlabel = "Ось X", # Подпись оси X
ylabel = "Ось Y", # Подпись оси Y
legend = :topright, # Положение легенды (:none, :left, :right, :top, :bottom, :best)
linewidth = 2, # Толщина линии
linestyle = :solid, # Стиль линии (:solid, :dash, :dot, :dashdot)
linecolor = :blue, # Цвет линии (имя, HEX, RGB)
marker = :circle, # Маркер точек (:none, :circle, :square, :diamond и др.)
markersize = 5, # Размер маркера
markercolor = :red, # Цвет маркера
markeralpha = 0.5, # Прозрачность маркера (0-1)
markerstrokewidth = 1, # Толщина обводки маркера
markerstrokecolor = :black, # Цвет обводки маркера
seriesalpha = 0.8, # Прозрачность всей серии (линии + маркеры)
grid = true, # Отображать сетку
gridstyle = :dash, # Стиль сетки
gridalpha = 0.3, # Прозрачность сетки
minorgrid = false, # Включить дополнительную сетку
xlims = (0, 10), # Границы оси X
ylims = (-1.5, 1.5), # Границы оси Y
xticks = 0:1:10, # Деления на оси X
yticks = -1:0.5:1, # Деления на оси Y
framestyle = :box, # Стиль рамки (:box, :axes, :origin, :zerolines, :grid)
background_color = :white,# Цвет фона
foreground_color = :black,# Цвет переднего плана (осей, текста)
size = (800, 400), # Размер графика в пикселях (ширина, высота)
dpi = 100, # Разрешение (точек на дюйм)
colorbar = false, # Показывать цветовую шкалу (для heatmap, contour)
clims = (0, 1), # Границы цветовой шкалы
aspect_ratio = :auto, # Соотношение осей (:auto, :equal, число)
inset = (1, bbox(0.5, 0.5, 0.3, 0.3)), # Вставка (subplot)
subplot = 1, # Номер подграфика
layout = @layout([a; b]),# Расположение графиков (используется с `plot!`)
palette = :viridis, # Цветовая палитра (:viridis, :plasma, :magma и др.)
tickfontsize = 10, # Размер шрифта делений
guidefontsize = 12, # Размер шрифта подписей осей
legendfontsize = 10, # Размер шрифта легенды
titlefontsize = 14, # Размер шрифта заголовка
widen = true, # Автоматически расширять границы осей
reuse = false # Переиспользовать текущий график
)
Далее добавляем вторую линию (cos(x)
) на существующий график, используя метод plot!()
. Вот его ключевые особенности:
- label="cos(x)": задаёт подпись линии в легенде.
- linewidth=2: устанавливает толщину линии равной двум единицам.
- linestyle=:dash: делает линию пунктирной.
- linecolor=:green: окрашивает линию в зелёный цвет.
Такой подход удобен для добавления новых данных на один и тот же график без повторения общей конфигурации.
plot!(x, y2,
label = "cos(x)",
linewidth = 2,
linestyle = :dash,
linecolor = :green
)
Так же мы можем использовать savefig()
- эта функция полезна для сохранения изображений графиков для последующего использования вне среды разработки, например, для включения в отчёты, презентации или публикации статей, например задав имя файла savefig("my_plot.png")
— мы создадим график в файле формата PNG с именем "my_plot.png"
в текущей рабочей директории.
Вывод
В данном примере мы показали максимальное количество возможных параметров настройки внешнего вида графика Plots.