O pacote PyPlot apresenta uma interface entre a linguagem Julia e a biblioteca matplotlib da linguagem Python.
Mais especificamente, ele provê acesso ao módulo matplotlib.pyplot dessa biblioteca.
Para utilizar a biblioteca PyPlot, você precisa instalar tanto o Python como a matplotlib no seu ambiente.
In [1]:
# Pacote DataFrames, para leitura dos dados a partir do arquivo CSV
using DataFrames
# PyPlot => interface com a biblioteca matplotlib da linguagem Python
using PyPlot
Os dados utilizados neste notebook foram obtidos a partir do site:
Os dados, conforme informado no site, são de domínio público (no momento da criação deste notebook).
O arquivo CSV contém dados diários sobre os preços de ações da empresa Autodesk (abertura, fechamento, volume, etc.).
Neste notebook, os gráficos plotados se referem às colunas de data, preço de abertura e volume negociado.
In [2]:
atdk=readtable("data\\WIKI-ADSK.csv")
atdk
Out[2]:
In [4]:
atdk[:Date] = Date(atdk[:Date], "y-m-d")
Out[4]:
In [5]:
describe(atdk)
In [14]:
#Cria um objeto figura e define o tamanho através do parâmetro figsize
fig=figure(figsize=[12,6])
# Cria um subgráfico na primeira célula
ax1=subplot(2,1,1)
# Chama o método 'plot' a partir do objeto retornado na variável ax1 e
# traça um gráfico de linha
ax1[:plot](atdk[:Date], atdk[:Open])
# Cálcula a média do preço de abertura das ações...
media=mean(atdk[:Open])
# ...e plota a média como uma linha vermelha no gráfico
axhline(media, linewidth=1, color="r")
# Define o título para este gráfico
title("Preço Abertura")
# Cria um subgráfico na segunda célula
ax2=subplot(2,1,2)
# Chama o método 'bar' a partir do objeto retornado na variável ax2 e
# traça um gráfico de barras
ax2[:bar](atdk[:Date],atdk[:Volume])
# Cria um objeto para formatar as datas (labels) no eixo X
# com dia-mês-ano (com 4 dígitos)
formatador=matplotlib[:dates][:DateFormatter]("%d-%m-%Y")
# Atribui o formatador ao eixo X
ax2[:xaxis][:set_major_formatter](formatador)
# Define o título para este gráfico
title("Volume")
# Define o título superior
suptitle("Autodesk")
Out[14]:
In [15]:
minimum(atdk[:Date])
Out[15]:
In [19]:
#Cria um objeto figura e define o tamanho através do parâmetro figsize
fig=figure(figsize=[12,6])
# Cria um subgráfico na primeira célula
ax1=subplot2grid([6,4], [0,0], rowspan=3, colspan=4)
# Chama o método 'plot' a partir do objeto retornado na variável ax1 e
# traça um gráfico de linha
ax1[:plot](atdk[:Date], atdk[:Open], linewidth=2, label="Abertura", color="#7f7f7f")
# Cálcula a média do preço de abertura das ações...
media=mean(atdk[:Open])
# ...e plota a média como uma linha vermelha no gráfico
axhline(media, linewidth=1, color="r")
# Define o título para este gráfico
title("Preço Abertura")
# "Liga" o parâmetro grid
ax1[:grid]("on")
# Cria um subgráfico na segunda célula
ax2=subplot2grid([6,4], [4,0], rowspan=2, colspan=4)
# Chama o método 'bar' a partir do objeto retornado na variável ax2 e
# traça um gráfico de barras
ax2[:bar](atdk[:Date],atdk[:Volume])
# Cria um objeto para formatar as datas (labels) no eixo X
# com dia-mês-ano (com 4 dígitos)
formatador=matplotlib[:dates][:DateFormatter]("%d-%m-%Y")
# Atribui o formatador ao eixo X
ax2[:xaxis][:set_major_formatter](formatador)
# Define o título para este gráfico
title("Volume")
# "Liga" o parâmetro grid
ax2[:grid]("on")
# Define o título superior
suptitle("Autodesk")
println()
Os links descritos acima, bem como os dados utilizados para a confecção deste notebook foram acessados em: 01/12/2015.