Existem várias formas de criar gráficos em Julia.
Descrevemos a seguir como criar gráficos usando Plots.jl
.
using Pkg
Pkg.add("Plots") # Esse comando pode demorar da primeira vez...
Updating registry at `~/.julia/registries/General.toml` Resolving package versions... No Changes to `~/julia-breve-intro/Project.toml` No Changes to `~/julia-breve-intro/Manifest.toml`
using Plots # Esse comando pode demorar da primeira vez...
Uma das vantagens de Plots.jl
é que ele permite mudar de um backend para outro facilmente.
Neste notebook, vamos usar os backends gr()
e unicodeplots()
.
Vamos fazer o gráfico de alguns pontos da função exponencial.
x = [-2.1, -0.3, 1.2, 2.2, 2.9, 3.7, 4.5, 5.1];
y = exp.(x);
Para fazer os gráficos, vamos carregar o backend GR:
gr()
Plots.GRBackend()
Agora usamos os comandos plot
e scatter
para fazer os gráficos.
plot(x, y, label="linha")
scatter!(x, y, label="pontos")
A função scatter!
(com !
no final) é uma função mutante, e portanto ela irá modificar o gráfico que já existia.
Em contraste, execute o comando acima sem o ponto de exclamação !
e veja o que ocorre.
A seguir, adicionamos informações ao gráfico:
xlabel!("x")
ylabel!("y = exp(x)")
title!("Alguns pontos do gráfico da função exponencial")
O comando xflip
modifica a orientação do eixo X.
xflip!()
Agora, sem modificar a sintaxe, podemos criar o gráfico acima usando outro backend.
Por exemplo, vamos usar o backend unicodeplots()
.
Primeiramente instalamos o pacote UnicodePlots
.
using Pkg
Pkg.add("UnicodePlots")
Resolving package versions... No Changes to `~/julia-breve-intro/Project.toml` No Changes to `~/julia-breve-intro/Manifest.toml`
Em seguida, carregamos o backend unicodeplots()
e executamos os mesmos comandos que usamos anteriormente:
unicodeplots()
Plots.UnicodePlotsBackend()
plot(x, y, label="linha")
scatter!(x, y, label="pontos")
xlabel!("x")
ylabel!("y = exp(x)")
title!("Alguns pontos do gráfico da função seno")
Alguns pontos do gráfico da função seno +----------------------------------------+ 168.939 | | ⚬ | linha | | . | pontos | | ,` | | | . | | | ,` | | | . | | | ⚬` | y = exp(x) | | ./ | | | ./ | | | ./ | | | ./ | | | .r⚬ | | | .r' | | | ._⚬r-"⚬ | -4.79453 |-⚬--------⚬-r-----⚬---------------------| +----------------------------------------+ -2.316 x 5.316
Como mencionamos, existem outros backends para criar gráficos. Vimos apenas dois exemplos.
Uma boa continuação a este notebook é o tutorial https://docs.juliaplots.org/stable/tutorial/ em inglês (ou traduzido para o português).