Gerando um gráfico para uma disciplina de economia

1,034 views
Skip to first unread message

luciano de souza

unread,
Sep 30, 2015, 6:59:02 PM9/30/15
to latex-br
Caros,

Estou a cursar uma disciplina de economia. Então, o professor fala nas
curvas de oferta, demanda e outras tantas que fazem o mundo parecer
curvilíneo.

Tenho muitas ideias de como são tais curvas. A bem dizer, na maioria
das vezes, os exemplos lidam com retas.

Entretanto, certeza é coisa que não tenho, afinal, sou cego e assisto
a disciplina apenas auditivamente.

Mas acho que o Latex pode ajudar-me. Se conseguir gerar alguns
gráficos, poderei tirar dúvidas com o professor. Ele entenderá aquilo
que está dentro de minha cabeça e, então, com uma imagem comum,
seremos capazes de discutir.

Digamos que eu tenha um gráfico com quantidade q nas abcissas e preço
p nas ordenadas.

Agora consideremos duas equações:

p = 2q-3 #Equação da oferta
p = -2q+5 #Equação da demanda.

Terei duas retas que se encontram em q=2 e p=1.

Também posso dizer que a oferta é reta que corta o eixo q em 3/2 e o
eixo p em -3.

Digo ainda que a demanda é reta que corta q em 5/2 e p em 5.

Muito bem, posso dizer tudo isso. A bem dizer, gerei as equações, mas
nem bem refleti se fazem sentido econômico.

Não importa. Isso fica para depois. O que quero perguntar neste momento é:
1. É possível gerar este gráfico com Latex?
2. Teriam um exemplo de como isso pode ser feito?
3. É possível também nomear os eixos e as retas?

Tenho tido êxitos com o Latex. Talvez seja demais que eu venha a
desenhar um gráfico sem enxergar. Bom, mas se, por meio do Latex e sua
maravilhosa formatação automática, já consegui fazer tanta coisa, por
que não tentar também isso?

--
Luciano de Souza

Youssef Cherem

unread,
Sep 30, 2015, 10:01:40 PM9/30/15
to late...@googlegroups.com
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[brazil]{babel}
\usepackage{tikz} \usetikzlibrary{calc,plotmarks} 
\usepackage{pgfplots}
\usepackage{graphicx}



\begin{document}


\begin{figure}

\begin{tikzpicture}
\begin{axis}[xlabel=Q, ylabel=P,
ymax=10,
ymin=-3,
xmax=10,
xmin=0,%
axis lines=left,
grid=both, % quadriculado
xtick={-3,-2,...,10}, % espaço entre números de x
ytick={-3,-2,...,10}, % espaço entre números de y
axis x line=middle,
axis y line=middle,
]

\addplot[color=red] {2*x -3}; %vermelho: oferta
\addplot[color=blue] {-2*x + 5}; %azul: demanda
\addplot[dashed] coordinates {(0,1) (4,1)}; % pontilhado: y=1
\addplot[dashed] coordinates {(2,0) (2,3)}; % pontilhado: x=2
\legend{Oferta,Demanda} %legenda em caixa do lado superior direito

\end{axis}

\end{tikzpicture}

\caption{Um exemplo de oferta e demanda com dados: $demanda = 2x - 3$, $oferta = -2x + 5$}
\end{figure}


\end{document}


Youssef Cherem
________________
!المسيح قام! حقاً قام


--
Luciano de Souza

--
You received this message because you are subscribed to the Google Groups "Latex-br" group.
To unsubscribe from this group and stop receiving emails from it, send an email to latex-br+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/latex-br/CAOUY%3DrV1HGF4%2B4rYU%2B0JhdtLVAfZihX03fngF-N1X7iwCE8npQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Jorge Barros de Abreu

unread,
Oct 1, 2015, 4:50:23 AM10/1/15
to late...@googlegroups.com

Olá Luciano.

Fazendo um pequeno anexo à precisa resposta do Youssef para aumentar seu
aprendizado veja o link abaixo:

http://www.multiplano.com.br/fotos_videos.html

Até.
> --
> You received this message because you are subscribed to the Google Groups "Latex-br" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to latex-br+u...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/latex-br/CAOUY%3DrV1HGF4%2B4rYU%2B0JhdtLVAfZihX03fngF-N1X7iwCE8npQ%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

--
Data Estelar 2457296,863403
http://sites.google.com/site/ficmatinf
Desejo-lhe Paz, Vida Longa e Prosperidade.
São Bem Vindas Mensagens no Formato texto UTF-8 com Acentos.

luciano de souza

unread,
Oct 1, 2015, 4:53:41 AM10/1/15
to late...@googlegroups.com
Yousef,

Por esta e por todas as ajudas anteriores, os meus sinceros e
entusiasmados agradecimentos. No trabalho, mostrei alguns modelos de
apresentação com beamer e ficaram impressionados.

O bom é que, no caso do beamer, já que não tenho um editor compatível
com o meu leitor de telas, posso utilizar fórmulas do Excel para criar
código Latex automaticamente.

Há pouca coisa que não entendi em seu código, por isso, fui arrojado e
tentei desenhar uma parábola. Não deu certo, de qualquer modo, sei que
o caminho é ler a documentação do pgf no que tange à plotagem.

Veja o meu exemplo:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[brazil]{babel}
\usepackage{tikz} \usetikzlibrary{calc,plotmarks}
\usepackage{pgfplots}
\usepackage{graphicx}
\pgfplotsset{compat=1.9} %Não sei o que significa, mas o compilador
sugeriu que incluísse esta linha.

\begin{document}
\begin{figure}
\begin{tikzpicture}

\begin{axis}[xlabel=A, ylabel=V,
ymax=20,
ymin=-20,
xmax=30,
xmin=-30,%
axis lines=left, @Esquerda? Não. Isso não entendi.
grid=both, @Este both deve significar que o quadriculado se aplica
tanto a x quanto a y
ytick={-20,-10,...,20}, @Não sei se o erro não está aqui. Com -10 e 10
como raízes, imaginei que saltar x de 1 em 1 não seria uma boa ideia.
Tinha tentado 2 er 3 como raízes, mas neste caso, obtinha um ponto de
mínimo muito em baixo.
axis x line=middle, @Também não entendi, mas suponho que diga respeito
a espessura da reta
axis y line=middle,
\addplot[color=red] {x^2 + 20*x + 100}; @Aqui se define a cor e
verdadeiramente se define a equação da curva
\addplot[dashed] coordinates {(0,-10) (0,10)}; @Imaginei que, com o
dashed, entre -10 e 10, ou seja, na parte inferior da figura, obteria
traço pontilhado, enquanto aquilo que está na parte superior, teria o
traço definido por midle
\legend{Demanda por água}
\end{axis}

\end{tikzpicture}

\caption{Volume Anual do Manancial: $v = (a^2) - 20*a + 100$}
\end{figure}
\end{document}
Posso ter entendido tudo errado e esta figura, que já não compila,
pode em nada se parecer com a parábola que descrevi. Como é tudo
imaginação, os erros podem ser imensos.

Por estes dias, aprendi um pouco de dot, a linguagem de especificação
de grafos. Com ela, desenhei fluxogramas e organogramas sem enxergar
nada. Os colegas disseram que a figura estava ótima. Não era o
suprassumo estilístico, mas dava para ser utilizada em uma reunião
para explicar alguma coisa, pois estava acima da média dos fluxogramas
e organogramas que se vê por aí.

A minha intenção não é naturalmente fazer melhor do que quem enxerga.
Quero apenas fazer o suficientepara que consiga comunicar-me.

Já ouvi depoimentos de cegos que, utilizando Latex, conseguiram fazer
trabalhos de matemática, com muitas equações e matrizes, sendo
possível aos professores corrigir o trabalho porque compartilhavam do
pensamento do aluno.

Realmente, o Latex abre perspectivas interessantíssimas.

Em 01/10/15, Jorge Barros de Abreu<ficma...@gmail.com> escreveu:
> https://groups.google.com/d/msgid/latex-br/20151001084858.GA15361%40papai.
> For more options, visit https://groups.google.com/d/optout.
>


--
Luciano de Souza

Jorge Barros de Abreu

unread,
Oct 1, 2015, 4:54:18 AM10/1/15
to late...@googlegroups.com


Desculpe-me a palavra inadequada na mensagem.
O áudio dá uma idéia inicial sobre o que estou "falando".



On Thu, Oct 01, 2015 at 05:48:58AM -0300, Jorge Barros de Abreu wrote:
>
> Olá Luciano.
>
> Fazendo um pequeno anexo à precisa resposta do Youssef para aumentar seu
> aprendizado veja o link abaixo:
>
> http://www.multiplano.com.br/fotos_videos.html
>
> Até.
>
>
> On Wed, Sep 30, 2015 at 07:58:56PM -0300, luciano de souza wrote:

--
Data Estelar 2457296,868657

luciano de souza

unread,
Oct 1, 2015, 4:58:37 AM10/1/15
to late...@googlegroups.com
Jorge,

A dica certamente foi boa, afinal, é bom demais receber dicas de
colegas gentis quanto aos que compõem esta lista!

Mas para mim, a página que indicou não funciona. São imagens e eu sou
cego. O leitor de telas que vai tão bem no restante, quando chega nas
imagens, o pobrezinho, torturado, cala-se completamente.

E aliás, esta é a beleza do meu aprendizado de Latex. A ferramenta é
tão boa que mesmo um cego consegue produzir alguma coisa que,
visualmente, esteja minimamente organizada!

É mesmo sensacional! Acho que começarei a formatar em Latex até os
bilhetes para a empregada!

Em 01/10/15, Jorge Barros de Abreu<ficma...@gmail.com> escreveu:
>
> https://groups.google.com/d/msgid/latex-br/20151001084858.GA15361%40papai.
> For more options, visit https://groups.google.com/d/optout.
>


--
Luciano de Souza

Rubens Stuginski Jr

unread,
Oct 1, 2015, 2:32:00 PM10/1/15
to late...@googlegroups.com
Olá Luciano:

Você já pensou e/ou tentou utilizar um outro programa para gerar
gráficos. Sugiro que você dê uma "escutada" no gnuplot. Eu não sei se
funciona, mas você pode exportar a saída para vários padrões, inclusive
laTeX. Se precisar de alguma ajuda extra como gnuplot, entre em contato.


Abraços,
Rubens

luciano de souza

unread,
Oct 2, 2015, 2:27:17 AM10/2/15
to latex-br
Rubens,

A ideia do GNUPlot é interessantíssima. Suponho que o código abaixo
gere duas retas, que se cruzam na coordenada (3, 6):

set terminal png size 400,300 enhanced font "Helvetica,20"
set output "laranja.png"
set title "Mercado de Laranja"
set xlabel "Q"
set ylabel "P"

f(x) = 9 - x;
g(x) = 2*x;

plot f(x) title "Demanda", g(x) title "oferta"

O código Latex gerado é apavorante, mas provavelmente não devo
preocupar-me com isso. De qualquer forma, preferi gerar em png para
que pudessem mais rapidamente observar o resultado.

Se os resultados são os mesmos, não há dúvidas que escrever código
para GNUPlot é muito mais simples do que para Latex.

Em seguida, experimentei uma demanda em parábola, elevando-se até p=9
e, em seguida, declinando novamente. A bem dizer, o início desta curva
de demanda é estranho, afinal, exceto em alguns produtos de luxo, não
é comum que a quantidade se eleve com o aumento do preço! Mas não
importa. Esta maçã é de luxo!

Se tudo deu certo, a reta da oferta se eleva, interceptando a parábola
duas vezes, intervalo em que a oferta não consegue suprir a demanda.

Eis o código:

set terminal png size 400,300 enhanced font "Helvetica,20"
set output "Maçã.png"
set title "Mercado de Maçã"
set xlabel "Q"
set ylabel "P"

f(x) = 12*x - x**2 + 27;
g(x) = x;

plot f(x) title "Demanda", g(x) title "oferta"

Em seguida, ainda arrisquei um gráfico de barras a partir do seguinte
arquivo de dados:

1 JAN 200
2 FEV 280
3 MAR 260
4 ABR 300
5 MAI 240
6 JUN 180

O código do gráfico de barras foi o seguinte:

set terminal png size 400,300 enhanced font "Helvetica,20"
set output "morango.png"
set boxwidth 0.5
set style fill solid
set title "Mercado de Morango"

plot "morango.txt" using 1:3:xtic(2) with boxes

Se tudo isso deu certo, então, é mesmo extraordinário. Eu não enxergo.
As figuras nada significam para mim. Mas vivo em um mundo visual. Cada
vez que surge um gráfico, um desenho, um diagrama no trabalho, observo
que ele tem um poder explicativo que textos não possuem.

Encontrei um código para a geração de histogramas. Pensava em gerá-los
com R. De fato, minha área vive um momento estatístico. Contudo, vejo
que, com GNUPlot, posso gerá-los do mesmo modo!

Bom, gostaria que dessem uma olhada nas figuras e dissessem se houve
algo que se aproxime de êxito.

Como o GnUPlot gera código para Latex, entendi que tratar deste tema
no grupo não constituía fuga a seu tema.

Rubens, Youssef, Jorge... Muito obrigado!

Em 30/09/15, luciano de souza<luch...@gmail.com> escreveu:
--
Luciano de Souza
laranja.png
Maçã.png
morango.png

Rubens Stuginski Jr

unread,
Oct 2, 2015, 12:13:43 PM10/2/15
to late...@googlegroups.com
Olá Luciano:

Os gráficos ficaram beleza. Apenas o último é que deu problema...
Eu nunca usei gráficos de barra... Uma dica legal que vai te dar
controle e melhorar muito teus gráficos é usar "set xrange[xmin:xmax]"
para definir o intervalo de "plotagem" da função. O mesmo comando existe
para yrange. Eu gosto de gráfico com grid. Eles ficam mais legíveis,
assim use set grid.

O gnuplot usa cores para as várias linhas: assim se você quiser uma
linha vermelho você usa: plot g(x) with lines lc 1, lc 2 para verde...

Bem Luciano, não sei em que mais posso te ajudar, mas se precisar de
alguma coisa extra entre em contato. Pode usar meu e-mail pessoal se for
preciso.


Abraços,
Rubens

Renato

unread,
Oct 5, 2015, 7:35:31 AM10/5/15
to late...@googlegroups.com
Luciano, nos seus gráficos, e isso não é devido a sua inexperiência em usar ferramentas de gráficos, as grandezas, quando escritas ao lados dos xtics ou ytics, polui muito o resultado final.

Aí resta o trabalho de "polir" o visual do gráfico com fontes menores, aumento da área do gráfico, etc., que suponho, para você seja um bocado difícil.

Caramba, como deve ser difícil "ver" um gráfico! Se ainda fosse em relevo!

Quanto a função que foi plotada, tudo certo, é visível e fica bem destacada. Apenas aumentaria a espessura da linha. Gnuplot sucks, mas ainda prefiro o tikz para fazer gráficos, apesar da curva de aprendizado ser bem mais ingreme!

Att.

Renato

--
You received this message because you are subscribed to the Google Groups "Latex-br" group.
To unsubscribe from this group and stop receiving emails from it, send an email to latex-br+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages