Gráficos bidimensionais com Python [Parte I] / Two-dimensional plots on Python [Part I]

Faaaala cientista! Tudo bem?
Hoje vamos ver alguns gráficos bidimensionais simples no Python. Ótima oportunidade pra abandonar aquele Origin pirata que você tem por aí…

Hey scientist! How is it going?
Today we’ll work with some simple 2D graphs on Python. A great opportunity to drop that pirate Origin copy that you could have there…

Já instalou o Python, bonitinho, coisa e tal? Caso não esteja instalado, corre lá no post anterior e veja como configurar o seu sistema Python.

Did you install Python and all the other stuff? If you didn’t install it yet, see this previous post and set your Python system running.

Adaptamos esse gráfico da página de exemplos do matplotlib / This plot was customized from the matplotlib example page: http://matplotlib.org/mpl_examples/pylab_examples/simple_plot.py

from pylab import *

t = arange(0.0, 2.0,0.01)
y = sin(2*pi*t)
plot(t, y)

xlabel('Tempo (s)')
ylabel('Voltagem (mV)')
title('Mais simples impossível, brothers')
grid(True)

show()

E o resultado é a janelinha a seguir / This results in the following little window:

figure_12

Vamos desmembrar o código e ver o que cada linha faz, ok?
Todas as bibliotecas adicionais do Python devem ser importadas antes do uso. Para isso usamos from “biblioteca” import “o que queremos da biblioteca”. Nesse exemplo importamos TUDO (estrelinha: *) da biblioteca pylab. Pylab é uma biblioteca inclusa no pacote matplotlib, cuja proposta é deixar o ambiente Python mais próximo de linguagens como Matlab, facilitando a programação científica. Na página da pylab tem até a história do Zé, que largou o Matlab e foi usar Python.

Let’s open the code and see what line do, ok?
All additional Python libraries must be imported before using them. For that we use from “library” import “what we want from the library”. In this example, we’ll import ALL (little star: *) from pylab library. Pylab is a library included on the matplotlib package; it’s aimed to let Python closer from languages like Matlab, making scientific programming easy. On pylab page we have the history of Joe, that dropped Matlab to use Python instead.

from pylab import *

Depois de importar a pylab, teremos várias funções pra usarmos. Vamos começar criando um vetor t que vai de 0 a 2, com passo 0.01; ou seja nosso destemido e temido t consiste dos valores 0, 0.01, 0.02, 0.03, …, 1.99. Repare que o 2 não está contido no conjunto t; caso você quiser o 2 lá dentro, use o comando linspace. A diferença é que arange usa um passo dado, e linspace usa o tamanho desejado da amostra. Após criarmos o querido t, chamamos y de seno (sin) de 2pi vezes o valor de t. Podia ser cosseno (cos), tangente (tan), exponencial (exp), … milhares e milhares de possibilidades. Então, y vai ser calculado para cada ponto a partir do valor de t.

After importing pylab we’ll have tons of functions to use. First, let’s create a vector t from 0 to 2, step 0.01; thus, our fearless t has the values 0, 0.01, 0.02, 0.03, …, 1.99. Notice that 2 isn’t contained in this set; if you’d like that, use linspace. The difference is that arange uses a given step, and linspace uses the desired size of the sample. After we created the dear t, we call y a sine curve (sin) from 2pi times t. It could be a cosine (cos), tangent (tan), exponential (exp), … thousands and thousands of possibilities. Then, y will be calculated for each point using the value of t.

t = arange(0.0,2.0,0.01)
y = sin(2*pi*t)

Após arrumarmos as nossas variáveis, é só usar o bom e velho comando plot. Tomamos o eixo x como a variável t, e o eixo y como a variável y mesmo. Diferente de outras linguagens, o plot não mostra o gráfico; é necessário usar também o comando show(). Mas calma lá, vamos enfeitar o gráfico antes.

After we create these variables, we can use the good, old plot. The x axis will be t, and the y axis well be… y itself. Unlike other languages, the plot command doesn’t show the plot; we’ll have to use show() together. But hang on, we’ll let it pretty first.

plot(t, y)

Para colocar nome nos eixos e um título no gráfico, use xlabel, ylabel e title / To put a name on axes and a title on the figure, you can use xlabel, ylabel and title.

xlabel('Tempo (s)')
ylabel('Voltagem (mV)')
title('Mais simples impossível, brothers')

Por fim, pra mostrar a “gradinha” no gráfico usamos o grid / Then, to show the little grid on the figure we use grid.

grid(True)

Agora sim, pode mostrar a parada / Now we can show some stuff!

show()

É isso aí, com isso você tem aquele gráfico lá. Caso queira gravar o gráfico em disco em vez de mostrá-lo, é só colocar antes do show():

savefig('nomedoseuarquivodegraficoquerido.png')

All right, then we have the figure above. If you’d like to save the figure instead of plotting it, you can put that before show():

savefig('nameofthedearestplotofyourlife.png')

E dá tudo certo. OK?
Tá ficando muito comprido isso aqui! No próximo post explico como configurar seu gráfico, mudar as cores e colocar elementos diferentes da linha.
Um giga abraço! Feliz Natal pra todo mundo!

And that finishes the plot!
This post is going too big! In the next one, I’ll show how to set your figure, change colors and put some different elements.
Gigaregards! Meeeerry christmas to all of you guys!


Gostou? Curta e compartilhe com seus amigos!
Curta a gente também no Facebook: www.facebook.com/programandociencia
Estou no Twitter! Siga-me se puder! @alexdesiqueira

Like this? Please comment and share with your friends!
Like us also on Facebook: www.facebook.com/programandociencia
I’m on Twitter! Follow me if you can! @alexdesiqueira

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s