Upload
paulobordoni
View
596
Download
4
Embed Size (px)
Citation preview
Básico de MatPlotLib Prof. Paulo R. G. Bordoni
UFRJ
Vou começar pelo dito popular:
“Uma imagem vale mais que mil palavras.”
“A criação de Adão”
Afresco pintado no teto da Capela Sistina por Michelangelo
Buonarroti, entorno de 1511.
1637 René Descartes - Francês
Nasceu 31/03/1596 Morreu 11/02/1650
A formalização do método científico, um
quarto de século depois...
Reducionismo: estudo do mundo como uma
montagem de partes físicas que podem ser divididas e analisadas separadamente e recompostas.
Uma imagem vale muito mais que mil palavras ...
Escher remontou tudo, harmonicamente, certamente, questionando o Reducionismo.
M.C. Escher, Relativity (1953),
Litogravura
Escher remontou tudo, harmonicamente, quem sabe para
mostrar que
“o todo pode ser maior que a soma das partes”. Holismo ...
Douglas R. Hofstadter nos conduz por uma viagem maravilhosa sobre todas essas
coisas ...
Leia você também!
M.C. Escher, Convex and Concave (1955), Litogravura
Experimente olhar assim ↘, pelo canto esquerdo superior.
Depois, olhe assim ↖, pela escada, lá no canto direito inferior!
O que você vê depende do seu modo
de olhar, do seu ponto de vista!
Olhar o todo pode permitir detectar
contradições.
Comece olhando pelo balcão superior. Depois desça ao
pátio pela corda.
Em seguida, suba pela escada.
Ilusão induzida pelo claro/escuro .
http://www2.uol.com.br/vivermente/multimidia/galeria_de_ilusoes.html
Pois é, são armadilhas de percepção.
Esta revista mostra algumas. Escher, desenhou muitas outras.
Elas envolvem o famoso “tribar” de Sir Roger Penrose.
M.C. Escher, Waterfall (1961), Litogravura
Descubram os tribar!
E as torres: mesma altura mas quantos
andares?
M.C. Escher, Belvedere (1958), Litogravura
Descubram os tribar.
O quê o homem sentado no banco
segura?
Este é o artista e genial que construiu as litogravuras que
mostramos.
Procure na internet para ver muito mais!
Mauritius Cornelius Escher, holandês.
Nasceu em 17/06/1898 Morreu em 27/03/1972
Sir, a consciência é mesmo o resultado de interações quânticas
dentro dos neurônios?
Nasceu em o8/o8/1932, na Inglaterra
“Cogito, ergo sum”
The Discourse on Method is best known as the source of the famous quotation "Je pense, donc je suis" ("I think, therefore I am"), which occurs in Part IV of the work. (The similar statement in Latin, Cogito ergo sum, is found in §7 of Principles of Philosophy.)
Sigmund Freud Nasceu 06/05/1856 Morreu 23/09/1939
O criador da Psicanálise.
Aprendi nesse divã que “sinto, logo sou”
"The great question that has never been answered, and which I have not yet been able to answer,
despite my thirty years of research into the feminine soul, is 'What does a woman want?'"
From Sigmund Freud: Life and Work by Ernest Jones
Mestre, Mestre ...
Eu faço engenharia, não história!
É Surfista, este é um tributo aos construtores de nossa civilização.
Por falar nisso, traga na próxima aula a história das pranchas de
“surf”.
Valendo nota!
Ok, meu jovem.
Vamos começar chamando o Spyder
Através dele, vamos trabalhar com o
MatPlotLib, o PyPlot e PyLab.
É o IDE (ambiente de trabalho integrado), mais “easy to use” que já vi
para o MatPlotLib, PyPlot e o PyLab.
É tipo MatLab.
Vocês, mulheres, falam demais...
Vamos começar!
Ah, aquele que vimos na aula
passada?
Surfista impaciente, siga a sugestão abaixo.
Venha trabalhar dialogando com este portuguesinho.
Ok Portuga ...
Vai Manual, não tenha vergonha.
Mostre-se em toda a sua beleza – é pelo bem do
ensino!
Bem, eis aí meu nome, sobrenome e uma rápida
descrição do que sou!
Tenho muita coisa a mostrar, é só rolar a janela
da “Consola” para baixo!
Manoel, vamos programar!
Sim, vamos começar pela função mais utilizada, a
plot( ).
Apenas, e tão somente, com o início do help da
função plot( ) já dá para você começar,
Surfista.
Manoel, plotei um segmento com extremidades nos pontos
A = (2.0, 1.4) e B = (3.4, 2.8).
Lista das coordenadas x Lista das
coordenadas y
Fácil, fácil! Vou plotar 2 segmentos
colados um no outro.
Agora veja, Surfista, se eu utilizar ‘bo’, só
aparecem os 3 pontos.
Só estou vendo dois pontos Loirinha, você
errou!!!
Apressadinho, olhe com atenção!
O ponto (2.0, 3.2) está no canto
superior esquerdo.
Jovens não briguem!
Basta clicar e arrastar!
Repetindo:
1. Cliquem na “cruz” e desloquem o mouse para a área gráfica (a branca);
2. O ponteiro do mouse mudará de “pato” para “ganso”;
3. Clicando como botão da esquerda do mouse, vocês arrastam o gráfico;
4. Clicando como botão da esquerda do mouse, vocês “dão zoom” no gráfico.
Construí o triângulo abaixo, juntando tudo num único comando
plot( ).
Vejam o código na próxima transparência.
Este é o código.
Agora, vamos construir o gráfico da função
x ↦ x2
Observem que a Professora usou 11 pontos no eixo-x,
i.é, 10 sub-intervalos de mesmo tamanho
Δ = ( 2.0-(-2.0))/10 = 0.4.
Mestre, faltam os eixos x e y, título do
gráfico, etc.
Pois é Loirinha, temos diversas
opções para marcadores e
estilos de linhas.
Temos também a possibilidade de
escolher diversas cores.
Aí está Loirinha, conforme você pediu.
Veja o código na próxima transparência.
Explico os detalhes depois, na sala de
aula..
Eis como colocar o eixo-x:
Estatísticas estão em toda parte.
A seguir, vamos fazer alguns gráficos envolvendo
estatística descritiva.
Por exemplo, folheando a revista cuja capa está atrás de mim,
encontramos, na reportagem sobre baleias Jubarte e Franca, o gráfico
na próxima transparência.
A reportagem mostra, com dados estatísticos, exibidos através de gráficos,
que já havia, na época, um progresso sensível na proteção dessas espécies.
O gráfico é auto-explicativo, até para leigos.
Excelente pergunta, Loirinha.
Não, não é a integral; trata-se apenas de uma liberdade gráfica do artista,
que não conhece o Cálculo.
Mestre, a área sombreada, em azul mais escuro, está
indicando a integral?
http://veja.abril.com.br/ acervodigital/home.aspx
Poderemos obter muitas outras estatísticas no “Acervo Digital VEJA”
disponibilizado pelo BRADESCO .
Surfista, vou mostrar como se faz
uma torta.
Eu aprendi a fazer torta de banana, mas esta não
sei a receita!
Eis como achar receitas, Loirinha:
Grande dica Manoel.
Descobri que pie é uma função, cujos parâmetros e descrição
assinalei.
Veja Loirinha, a explicação dos parâmetros:
Mestra, é muito fácil.
Importei o pylab, criei uma lista de nomes e outra x de valores.
Então chamei a função pie( ), passando esses dois parâmetros e fim de papo.
É Surfista, mas sua torta é oval.
Tricotando com a Mestra (mulheres falam demais...) aprendi
a usar a função figure( ).
Aí Surfista, o help da função figure( ).
Aprenda que perguntar não ofende! Já marquei detalhes prá
você.
O observe o detalhe do título da janela gráfica.
Jovens, refiz tudo de uma maneira mais Pythônica:
Importei o pyplot do matplotlib e usei namespaces.
Este é um dos superpoderes da
Spyder!!
Namespaces permitem ao interpretador Python distinguir nomes
iguais de bibliotecas distintas.
Como o CPF, que permite distinguir pessoas diferentes com mesmo nome.
Usei o parâmetro explode para destacar
os animais com os menores valores
percentuais.
Vamos até o portal da Globo, http://g1.globo.com/
buscar pelos resultados da eleição para Prefeito da cidade do Rio de
Janeiro.
Encontramos os resultados ao lado.
Vamos fazer um gráfico de barras horizontais
semelhante a este.
Para construir o gráfico de barras horizontais
usaremos a função barh( )
Mestre, eis seu programa e o gráfico
de barras.
Mestres, os nomes dos candidatos foram
cortados!
E tem muita coisa que não entendi.
Surfista, para ajustar os nomes:
1. Clique no botão marcado;
2. Ele abrirá a janela aos meus pés;
3. Deslize o controle ”left” para a direita até ajustar.
Acrescentando anotações ao
gráfico.
Como ficou acrescentando o
texto.
Este é o help sobre a função
annotate( ).
Não deixe de ver o resto.
http://www.ibge.gov.br/home/estatistica/populacao/censohistorico/1940_1996.shtm
No site do IBGE, mais precisamente, no endereço abaixo,
obtemos as séries históricas:
Vamos usar a função bar( ) para construir um gráfico de barras que permita comparar a evolução das
população totais de homens e mulheres.
Mais detalhes sobre bar( )
Meu programa.
Aprendizes devem procurar help sobre as funções
xticks( ), yticks( ), legend( ), etc
O resultado.
Tchau, até a próxima aula!