Update docs to match implementation of $build_and_dump_html_index
[maxima.git] / doc / info / pt_BR / Plotting.texi.update
blobb4ffb7e30013bc320b8ab26021dcf2f0ae070bbe
1 @c
2 @c versao pt_BR baseada no md5sum abaixo:
3 @c b5c28e7d3abce9a91af15bd771290edf  Plotting.texi
4 @c
5 @menu
6 * Introduction to Plotting::
7 * Plotting Formats::
8 * Functions and Variables for Plotting::
9 * Plotting Options::
10 * Gnuplot Options::
11 * Gnuplot_pipes Format Functions::
12 @end menu
14 @c -----------------------------------------------------------------------------
15 @node Introduction to Plotting, Plotting Formats, Plotting, Plotting
16 @section Introduction to Plotting
17 @c -----------------------------------------------------------------------------
19 Maxima utiliza um pacote externo de impress@~{a}o para fazer os gr@'{a}ficos (veja a
20 se@,{c}@~{a}o @mref{Plotting Formats}).  As fun@,{c}@~{o}es para montagem de gr@'{a}ficos calculam um
21 conjunto de pontos e informam esse conjunto de pontos ao pacote de montagem de gr@'{a}ficos juntamente com um conjunto
22 de comandos.  Essa informa@,{c}@~{a}o pode ser informada ao programa externo
23 ou atrav@'{e}s de um cano (pipe) ou trav@'{e}s de uma chamada ao programa externo com o nome de um arquivo
24 no qual os dados tenham sido gravados.  Ao arquivo de dados @'{e} dado o nome
25 @code{maxout.formato}, onde @code{formato} @'{e} o nome do formato de arquivo
26 gr@'{a}fico sendo usado (@code{gnuplot}, @code{xmaxima}, @code{mgnuplot} ou
27 @code{gnuplot_pipes}).
29 @'{E} poss@'{i}vel gravar o gr@'{a}fico j@'{a} pronto em um arquivo de formato gr@'{a}fico. Nesses casos, o
30 arquivo @code{maxout.formato} criado pelo Maxima inclui comandos que
31 far@~{a}o o programa externo de montagem de gr@'{a}fico gravar o resultado em um arquivo
32 gr@'{a}fico. O nome padr@~{a}o para esse arquivo gr@'{a}fico @'{e}
33 @code{maxplot.extens@~{a}o}, onde @code{extens@~{a}o} @'{e} a extens@~{a}o
34 normalmente usada para o tipo de arquivo gr@'{a}fico selecionado.
36 Os arquivos @code{maxout.formato} e @code{maxplot.extens@~{a}o} s@~{a}o criados no
37 @mrefdot{maxima_tempdir} Essa localiza@,{c}@~{a}o pode ser mudada atribuindo @`{a}quela
38 vari@'{a}vel (ou @`{a} variavel de ambiente MAXIMA_TEMPDIR) uma sequ@^{e}ncia de caracteres
39 que representa um dire@'{o}rio v@'{a}lido onde Maxima pode criar novos arquivos. A
40 sa@'{i}da do comando de montagem de gr@'{a}fico do Maxima ser@'{a} uma lista com os nomes dos
41 arquivos criados, incluindo seu caminho completo.
43 Se o formato usado for ou @code{gnuplot} ou @code{xmaxima}, os
44 programas externos @code{gnuplot} ou @code{xmaxima} podem ser executados, fornecendo a esses
45 o arquivo @code{maxout.formato} como argumento, com o objetivo de ver novamente um gr@'{a}fico
46 anteriormente criado no Maxima. Desa forma, quando um comando de montagem de gr@'{a}fico do Maxima
47 vier a falhar, o formato pode ser ajustado para @code{gnuplot} ou @code{xmaxima} e o
48 arquivo no formato texto puro @code{maxout.gnuplot} (ou @code{maxout.xmaxima}) pode
49 se inspecionado para encontrar a fonte do problema.
51 O pacote adicional @ref{draw} fornece fun@,{c}@~{o}es similares a essas
52 descritas nessa se@,{c}@~{a}o com alguns recursos extras. Note que algumas
53 op@,{c}@~{o}es de montagem de gr@'{a}ficos matem@'{a}ticos possuem o mesmo nome em ambos os pacotes de montagem de gr@'{a}ficos matem@'{a}ticos, mas sua
54 sintaxe e comportamento @'{e} diferente. Para ver a documenta@,{c}@~{a}o para uma
55 op@,{c}@~{a}o gr@'{a}fica @code{op@,{c}@~{a}o}, digite @code{?? op@,{c}@~{a}o} com o objetivo de escolher a
56 para op@,{c}@~{a}o de um ou de outro pacote.
58 @opencatbox
59 @category{Plotting}
60 @closecatbox
62 @c -----------------------------------------------------------------------------
63 @node Plotting Formats, Functions and Variables for Plotting, Introduction to Plotting, Plotting
64 @section Plotting Formats
65 @c -----------------------------------------------------------------------------
67 Maxima pode usar ou o Gnuplot ou o Xmaxima como programa gr@'{a}fico. Gnuplot @'{e}
68 um programa externo que deve ser insalado separadamente, enquanto Xmaxima
69 @'{e} distribu@'{i}do com Maxima. Existem v@'{a}rios formatos diferentes para
70 esses programas, que podem ser selecionados com a oop@,{c}@~{a}o @mref{plot_format}
71 (veja tambem a se@,{c}@~{a}o @mref{Plotting Options} - Op@,{c}@~{o}es Gr@'{a}ficas Matem@'{a}ticas).
73 As op@,{c}@~{o}es para montagem de gr@'{a}ficos matem@'{a}ticos s@~{a}o as seguintes:
75 @itemize @bullet
76 @item
77 @strong{gnuplot} (padr@~{a}o no Windows)
79 Usada para lan@,{c}ar o programa externo gnuplot, que deve estar instalado no
80 seu sistema.  Todos os comandos e dados s@~{a}o gravados no arquivo
81 @code{maxout.gnuplot}.
83 @item
84 @strong{gnuplot_pipes} (padr@~{a}o nas plataformas n@~{a}o windows)
86 Esse formato n@~{a}o est@'{a} dispon@'{i}vel na plataforma Windows.
87 @'{E} semelhante ao formato @code{gnuplot} exceto que os comandos s@~{a}o enviados
88 ao gnuplot atrav@'{e}s de um duto, enquanto os dados s@~{a}o gravados no arquivo
89 @code{maxout.gnuplot_pipes}.  Um @'{u}nico processo de gnuplot @'{e} mantido aberto
90 e comandos posteriores comandos de montagem de gr@'{a}ficos ser@~{a}o enviados a esse processo aberto, substituindo
91 comandos de montagem de gr@'{a}fico posteriores, a menos que o duto ao gnuplot esteja fechado por meio da fun@,{c}@~{a}o
92 @mrefdot{gnuplot_close}  Quando esse formato for usado, a fun@,{c}@~{a}o
93 @mref{gnuplot_replot} pode ser usada para modificar um gr@'{a}fico matem@'{a}tico que esteja sendo
94 mostrado na tela.
96 Esse formato @'{e} somente usado para exibir um gr@'{a}fico na tela; sempre que arquivos contendo informa@,{c}@~{o}es sobre gr@'{a}ficos matem@'{a}ticos forem
97 criados, o formato @'{e} silenciosamente modificado para @code{gnuplot} e
98 os comandos necess@'{a}rios para criar o arquivo gr@'{a}fico s@~{a}o gravados com os dados
99 no arquivo @code{maxout.gnuplot}.
101 @item
102 @strong{mgnuplot}
104 Mgnuplot inv@'{o}lucro baseado em Tk em volta do gnuplot.  Est@'{a} inclu@'{i}do na
105 distribui@,{c}@~{a}o do Maxima.  Mgnuplot oferece uma GUI b@'{a}sica para o gnuplot,
106 mas tem em geral menos que a interface texto do
107 gnuplot.  Mgnuplot exige uma instala@,{c}@~{a}o externa do gnuplot e, nos
108 sistemas Unix, a instala@,{c}@~{a}o completa do pacote Tcl/Tk.
110 @item
111 @strong{xmaxima}
113 Xmaxima @'{e} uma interface gr@'{a}fica baseada na linguagem Tcl/Tk feita especialmente para o Maxima que tanto pode ser usada
114 para exibir gr@'{a}ficos criados quando Maxima est@'{a} exsendo executado a partir do console ou a partir de
115 outras interfaces gr@'{a}ficas.  Para usar esse formato, o programa xmaxima,
116 que @'{e} distribu@'{i}do juntamente com o Maxima, deve ser instalado.  Se
117 Maxima estiver sendo executado a patir do console do Xmaxima, os dados e comados s@~{a}o
118 informados ao xmaxima atrav@'{e}s do mesmo socket usado para a cmunica@,{c}@~{a}o
119 entre o Maxima e o console do Xmaxima. Quando usado a partir de um terminal ou
120 de uma interface gr@'{a}fica diferente do Xmaxima, os comandos e dados
121 s@~{a}o gravados no arquivo @code{maxout.xmaxima} e o xmaxima @'{e} executado como
122 nome daquele arquvi como argumento.
124 Em vers@~{o}es anteriores esse formato era chamado de @code{openmath}; esse
125 nome antigo ainda funciona como um sin@^{o}nimo para @code{xmaxima}.
126 @end itemize
128 @opencatbox
129 @category{Plotting}
130 @closecatbox
132 @c -----------------------------------------------------------------------------
133 @node Functions and Variables for Plotting, Plotting Options, Plotting Formats, Plotting
134 @section Functions and Variables for Plotting
135 @c -----------------------------------------------------------------------------
137 @c -----------------------------------------------------------------------------
138 @anchor{contour_plot}
139 @deffn {Fun@,{c}@~{a}o} contour_plot (@var{expr}, @var{x_intervalo}, @var{y_intervalo}, @var{options}, @dots{})
141 Essa fun@,{c}@~{a}o monta o gr@'{a}fico de contorno (curvas de valor igual) de @var{expr}
142 sobre a regi@~{a}o @var{x_intervalo} por @var{y_intervalo}.
143 Quaisquer argumentos adicionais s@~{a}o tratados da mesma forma que em @mrefdot{plot3d}
145 Essa fun@,{c}@~{a}o somente funciona quando o formato de montagem de gr@'{a}fico for ou @code{gnuplot}
146 ou @code{gnuplot_pipes}.  O pacote adicional
147 @mrefcomma{implicit_plot} que funciona em qualquer formato gr@'{a}fico, pode tamb@'{e}m ser
148 usado para gr@'{a}ficos de contorno mas uma express@~{a}o separada deve ser informada para cada
149 contorno.
151 Exemplos:
153 @c ===beg===
154 @c contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
155 @c ===end===
156 @example
157 (%i1) contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
158 @end example
159 @ifnotinfo
160 @image{figures/plotting1,8cm}
161 @end ifnotinfo
163 Voc@^{e} pode adicionar quaisquer op@,{c}@~{o}es aceitas por @code{plot3d}; por exemplo, a
164 op@,{c}@~{a}o @mref{legend} com o valor @code{false}, para remover a
165 legenda. Por padr@~{a}o, Gnuplot escolhe automaticamente e exibe 3 contornos. Para aumentar o
166 n@'{u}mro de ocntornos, @'{e} necess@'{a}rio usar um @mref{gnuplot_preamble}
167 personalizado, como no exemplo adiante:
169 @c ===beg===
170 @c contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], 
171 @c               [legend,false],
172 @c               [gnuplot_preamble, "set cntrparam levels 12"])$
173 @c ===end===
174 @example
175 @group
176 (%i1) contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4],
177               [legend,false],
178               [gnuplot_preamble, "set cntrparam levels 12"])$
179 @end group
180 @end example
181 @ifnotinfo
182 @image{figures/plotting2,8cm}
183 @end ifnotinfo
185 @opencatbox
186 @category{Plotting}
187 @closecatbox
188 @end deffn
190 @c -----------------------------------------------------------------------------
191 @anchor{get_plot_option}
192 @deffn {Fun@,{c}@~{a}o} get_plot_option (@var{palavrachave}, @var{@'{i}ndice})
194 Retorna o valor padr@~{a}o atual da op@,{c}@~{a}o chamada @var{palavrachave},
195 que @'{e} uma lista. O argumento op@,{c}ional @var{@'{i}ndice} deve ser um inteiro
196 positivo que pode ser usado para extrair somente um elemento da lista
197 (o elemento 1 @'{e} o nome da op@,{c}@~{a}o).
199 Veja tamb@'{e}m @mrefcomma{set_plot_option} @mref{remove_plot_option} e a
200 se@,{c}@~{a}o @mref{Plotting Options} - Op@,{c}@~{o}es Gr@'{a}ficas Matem@'{a}ticas.
201 @end deffn
203 @c -----------------------------------------------------------------------------
204 @anchor{gnuplot_command}
205 @defvr {Vari@'{a}vel de sistema} gnuplot_command
207 Essa vari@'{a}vel armazena o nome do comando usado para executar o programa
208 gnuplot quando o formato de montagem de gr@'{a}fico for @code{gnuplot}. Seu valor padr@~{a}o @'{e}
209 "gnuplot" @footnote{No Windows o valor padr@~{a}o @'{e} "Wgnuplot".}. Se o programa
210 gnuplot n@~{a}o estiver instalado a menos que voc@^{e} forne@,{c}a seu caminho completo ou se voc@^{e} desejar
211 tentar uma vers@~{a}o diferente de gnuplot, voc@^{e} pode mudar o valor dessa
212 vari@'{a}vel. Por exemplo,
214 @c ===beg===
215 @c gnuplot_command: "/usr/local/bin/my_gnuplot"$
216 @c ===end===
217 @example
218 (%i1) gnuplot_command: "/usr/local/bin/my_gnuplot"$
219 @end example
221 @opencatbox
222 @category{Plotting}
223 @closecatbox
224 @end defvr
226 @c -----------------------------------------------------------------------------
227 @anchor{gnuplot_file_args}
228 @defvr {Vari@'{a}vel de sistema} gnuplot_file_args
230 Quando um arquivo gr@'{a}fico est@'{a} para ser criado usando @code{gnuplot}, a
231 vari@'{a}vel @code{gnuplot_file_args} @'{e} usada para especificar o caminho do nome de arquivo que deve ser informado ao
232 gnuplot. Seu valor padr@~{a}o @'{e} "~s", que significa que o nome do
233 arquivo ser@'{a} informado diretamente. O conte@'{u}do dessa vari@'{a}vel pode ser
234 modificado com o objetivo de adicionar op@,{c}@~{o}es ao programa gnuplot, adicionando essas
235 op@,{c}@~{o}es antes da diretiva de formato "~s".
237 @opencatbox
238 @category{Plotting}
239 @closecatbox
240 @end defvr
242 @c -----------------------------------------------------------------------------
243 @anchor{gnuplot_view_args}
244 @defvr {Vari@'{a}vel de sistema} gnuplot_view_args
246 Essa vari@'{a}vel @'{e} usada para informar o argumento que ir@'{a} ser informado ao
247 programa gnuplot quando o formato gr@'{a}fico for @code{gnuplot}. Seu valor
248 padr@~{a}o @'{e} "-persist ~s", onde "~s" ser@'{a} substitu@'{i}do com o nome do
249 arquivo onde os comandos do gnuplot tiverem sido escritos (comumente
250 "maxout.gnuplot"). A op@,{c}@~{a}o @code{-persist} diz ao gnuplot para sair
251 ap@'{o}s os comandos no arquivo tiverem sido executados, sem fechar a
252 janela que mostra o gr@'{a}fico.
254 aqueles familiarizados com gnuplot, podem desejar mudar o valor dessa
255 vari@'{a}vel. Por exemplo, modificando-a para:
257 @c ===beg===
258 @c gnuplot_view_args: "~s -"$
259 @c ===end===
260 @example
261 (%i1) gnuplot_view_args: "~s -"$
262 @end example
264 gnuplot n@~{a}o ser@'{a} fechado ap@'{o}s os comandos no arquivo terem sido
265 executados; dessa forma, a janela com o gr@'{a}fico matem@'{a}tico ir@'{a} permanecer, bem como o
266 shell interativo do gnuplot onde outros comandos podem ser emitidos com o bojetivo de
267 modificar o gr@'{a}fico.@footnote{Em vers@~{o}es para Windows do Gnuplot mais antigos que o 4.6.3 o comportamento de "~s -"
268 e de "-persist ~s" foram invertidos; sendo mais claro, "-persist ~s" faz a janela com o
269 gr@'{a}fico matem@'{a}tico e o shell interativo do gnuplot permanecerem, enquanto "~s -" fecha o
270 shell do gnuplot mantendo a janela com o gr@'{a}fico matem@'{a}tico. Portanto, quando vers@~{o}es
271 antigas do gnuplot forem usadas no Windows, pode ser necess@'{a}rio ajustar o valor
272 de @code{gnuplot_view_args}.}
274 @opencatbox
275 @category{Plotting}
276 @closecatbox
277 @end defvr
279 @c -----------------------------------------------------------------------------
280 @anchor{implicit_plot}
281 @deffn  {Fun@,{c}@~{a}o} implicit_plot @
282 @fname{implicit_plot} (@var{expr}, @var{x_intervalo}, @var{y_intervalo}) @
283 @fname{implicit_plot} ([@var{expr_1}, @dots{}, @var{expr_n}], @var{x_intervalo}, @var{y_intervalo})
285 Exibe um gr@'{a}fico de uma fun@,{c}@~{a}o no plano real, definido implicitamente atrav@'{e}s da
286 express@~{a}o @var{expr}. O dom@'{i}nio no plano @'{e} definido atrav@'{e}s de
287 @var{x_intervalo} e de @var{y_intervalo}. Muitas fun@,{c}@~{o}es podem ser representadas sobre
288 o mesmo gr@'{a}fico, fornecendo uma lista [@var{expr_1}, @dots{}, @var{expr_n}] de
289 express@~{o}es que as definem. Essa fun@,{c}@~{a}o usa op@,{c}@~{o}es de formato
290 global ajustadas com a @mrefdot{set_plot_option} Op@,{c}@~{o}es adicionais podem
291 tamb@'{e}mserem fornecidas com argumentos extras para o comando @code{implicit_plot}.
293 O m@'{e}todo usado pela @code{implicit_plot} consiste de rastrear mudan@,{c}as de
294 sinal sobre o dom@'{i}nio fornecido e pode falhar para express@~{o}es complicadas.
296 O comando @code{load(implicit_plot)} torna essa fun@,{c}@~{a}o dispon@'{i}vel para uso.
298 Exemplo:
300 @c ===beg===
301 @c load(implicit_plot)$
302 @c implicit_plot (x^2 = y^3 - 3*y + 1, [x, -4, 4], [y, -4, 4])$
303 @c ===end===
304 @example
305 (%i1) load(implicit_plot)$
306 (%i2) implicit_plot (x^2 = y^3 - 3*y + 1, [x, -4, 4], [y, -4, 4])$
307 @end example
309 @ifnotinfo
310 @image{figures/plotting3,8cm}
311 @end ifnotinfo
313 @opencatbox
314 @category{Plotting} @category{Share packages} @category{Package implicit_plot}
315 @closecatbox
316 @end deffn
318 @c -----------------------------------------------------------------------------
319 @anchor{julia}
320 @deffn {Fun@,{c}@~{a}o} julia (@var{x}, @var{y}, ...@var{op@,{c}@~{o}es}...)
322 Cria uma representa@,{c}@~{a}o gr@'{a}fica do conjunto de Julia ajustados para o n@'{u}mero complexo
323 (@var{x} + i @var{y}). Os dois par@^{a}metros obrigat@'{o}rios @var{x} e @var{y}
324 devem ser reais. Esse programa @'{e} parte do pacote adicional
325 @code{dynamics}, mas n@~{a}o se deve usar o comando @code{load} para torn@'{a}-lo dispon@'{i}vel; a primeira
326 vez que a fun@,{c}@~{a}o @code{julia} for usada, o pacote adicional @code{dynamics} ser@'{a} disponibilizado automaticamente.
328 A cada pixel na grade @'{e} dado uma cor correspondendo ao n@'{u}mero de
329 itera@,{c}@~{o}es que recebeu da sequ@^{e}ncia que iniciou no ponto na dire@,{c}@~{a}o
330 do c@'{i}rculo de converg@^{e}ncia de raio 2 centrado na or@'{i}gem. O n@'{u}mero
331 de pixels na grade @'{e} controlado pela op@,{c}@~{a}o gr@'{a}fica @mref{grid}
332 (o padr@~{a}o @'{e} 30 por 30). O n@'{u}mero m@'{a}ximo de itera@,{c}@~{o}es @'{e} ajustado com a
333 op@,{c}@~{a}o @mrefdot{iterations} O programa usa suas pr@'{o}prias op@,{c}@~{o}es de cores padr@~{a}o:
334 rosa, violeta, azul, azul marinho, verde, amarelo, alaranjado, vermelho, marrom e preto,
335 mas essa peleta de cores pode ser modificada adicionado uma op@,{c}@~{a}o expl@'{i}cita @mref{palette} no
336 comando.
338 O dom@'{i}nio padr@~{a}o usado vai de -2 a 2 em ambos os eixos e pode ser
339 modificado com as op@,{c}@~{o}es @code{x} e @code{y}. Por padr@~{a}o, os dois eixos
340 s@~{a}o mostrados com a mesma escala, a menos que a op@,{c}@~{a}o @mref{yx_ratio} seja usada
341 ou a op@,{c}@~{a}o @mref{same_xy} esteja desabilitada. Outras op@,{c}@~{o}es gerais de montagem de gr@'{a}fico s@~{a}o
342 tamb@'{e}m aceitas.
344 O seguinte exemplo exibe uma regi@~{a}o do conjunto de Julia para o n@'{u}mero
345 -0.55 + i0.6. A op@,{c}@~{a}o @mref{color_bar_tics} @'{e} usada para evitar que o
346 Gnuplot modifique caixa de cor acima de 40, nesse caso os pontos
347 correspondentes ao m@'{a}ximo de 36 itera@,{c}oes n@~{a}o devem ter a cor preta.
349 @c ===beg===
350 @c julia (-0.55, 0.6, [iterations, 36], [x, -0.3, 0.2],
351 @c   [y, 0.3, 0.9], [grid, 400, 400], [color_bar_tics, 0, 6, 36])$
352 @c ===end===
353 @example
354 @group
355 (%i1) julia (-0.55, 0.6, [iterations, 36], [x, -0.3, 0.2],
356       [y, 0.3, 0.9], [grid, 400, 400], [color_bar_tics, 0, 6, 36])$
357 @end group
358 @end example
360 @ifnotinfo
361 @image{figures/plotting4,8cm}
362 @end ifnotinfo
364 @opencatbox
365 @category{Package dynamics} @category{Plotting}
366 @closecatbox
368 @end deffn
371 @c -----------------------------------------------------------------------------
372 @anchor{make_transform}
373 @deffn {Fun@,{c}@~{a}o} make_transform ([@var{var1}, @var{var2}, @var{var3}], @var{fx}, @var{fy}, @var{fz})
375 Retorna uma fun@,{c}@~{a}o adequada a ser usada na op@,{c}@~{a}o @mref{transform_xy}@w{}
376 de @code{plot3d}.  As tr@^{e}s vari@'{a}veis @var{var1}, @var{var2}, @var{var3} s@~{a}o
377 tr@^{e}s nomes de vari@'{a}veis que somente ser@~{a}o usadas na express@~{a}o retornada e que s@~{a}o similares @`{a}s 3 vari@'{a}veis dadas pelo
378 comando @code{plot3d} (primeiramente as duas independentes e a seguir a
379 fun@,{c}@~{a}o de depende das duas primeiras).  As tr@^{e}s fun@,{c}@~{o}es
380 @var{fx}, @var{fy}, @var{fz} devem depender somente daquelas 3 vari@'{a}veis, e
381 fornecer@~{a}o as correspondentes coordenadas x, y e z que devem se
382 colocadas no gr@'{a}fico.  Existem duas transforma@,{c}@~{o}es definidas por padr@~{a}o:
383 @mref{polar_to_xy} e @mrefdot{spherical_to_xyz} Veja a documenta@,{c}@~{a}o
384 para essas duas transforma@,{c}@~{o}es.
386 @opencatbox
387 @category{Plotting}
388 @closecatbox
389 @end deffn
391 @c -----------------------------------------------------------------------------
392 @anchor{mandelbrot}
393 @deffn {Fun@,{c}@~{a}o} mandelbrot (@var{op@,{c}@~{o}es})
395 Cria uma representa@,{c}@~{a}o gr@'{a}fica do conjunto de Mandelbrot. Esse programa @'{e}
396 parte do pacote adicional @code{dynamics}, mas esse pacote adicional
397 n@~{a}o precisa ser ativado pelo comando @code{load}; a primeira vez que a fun@,{c}@~{a}o @code{mandelbrot} for usada, o pacote
398 ser@'{a} ativado automaticamente.
400 Essa fun@,{c}@~{a}o pode ser usada sem argumentos, nesse caso usar@'{a}
401 um valor padr@~{a}o de 9 itera@,{c}@~{o}es por ponto, uma grade com dimens@~{o}es
402 ajustadas pela op@,{c}@~{a}o de montagem de gr@'{a}fico @mref{grid} (padr@~{a}o 30 por 30) e uma regi@~{a}o
403 que vai de -2 a 2 em ambos os eixos. As op@,{c}@~{o}es s@~{a}o as mesmas
404 aceitas por @code{plot2d}, al@'{e}m da op@,{c}@~{a}o @mref{iterations} para modificar o
405 n@'{u}mero de itera@,{c}@~{o}es.
407 A cada pixel na grade @'{e} dado uma cor correspondente ao n@'{u}mero de
408 itera@,{c}@~{o}es que ele recebe na sequ@^{e}ncia iniciando em zero at@'{e} alcan@,{c}ar
409 o c@'{i}rculo de converg@^{e}ncia de raio 2, centrado na or@'{i}gem. O
410 n@'{u}mero m@'{a}ximo de itera@,{c}òes @'{e} ajustado pela op@,{c}@~{a}o @mrefdot{iterations}
411 O programa usa seu pr@'{o}prio conjunto padr@~{a}o de cores: rosa, violeta, azul, azul marinho,
412 verde, amarelo, alaranjado, vermelho, marrom e preto, mas isso pode ser modificado pela
413 adi@,{c}@~{a}o da op@,{c}@~{a}o expl@'{i}cita @mref{palette} no comand. Por padr@~{a}o, os
414 dois eixos s@~{a}o exibidos na mesma escala, a menos que a op@,{c}@~{a}o @mref{yx_ratio}
415 seja usada ou a op@,{c}@~{a}o @mref{same_xy} seja desabilitada.
417 Exemplo:
419 @c ===beg===
420 @c mandelbrot ([iterations, 30], [x, -2, 1], [y, -1.2, 1.2],
421             [grid,400,400])$
422 @c ===end===
423 @example
424 (%i1) mandelbrot ([iterations, 30], [x, -2, 1], [y, -1.2, 1.2],
425             [grid,400,400])$
426  @end example
428 @ifnotinfo
429 @image{figures/plotting5,8cm}
430 @end ifnotinfo
432 @opencatbox
433 @category{Package dynamics} @category{Plotting}
434 @closecatbox
436 @end deffn
438 @c -----------------------------------------------------------------------------
439 @anchor{polar_to_xy}
440 @deffn {Fun@,{c}@~{a}o de sistema} polar_to_xy
442 Pode ser informada como valor para a op@,{c}@~{a}o @mref{transform_xy} de
443 @code{plot3d}.  Seu efeito ser@'{a} interpretar as duas vari@'{a}veis independentes em
444 @code{plot3d} como a dist@^{a}ncia a partir do eixo z e o @^{a}ngulo azimutal (das coordenadas
445 polares), e transform@'{a}-los em coordenadas x e y cartesianas.
447 @opencatbox
448 @category{Plotting}
449 @closecatbox
450 @end deffn
452 @c -----------------------------------------------------------------------------
453 @anchor{plot2d}
454 @deffn  {Fun@,{c}@~{a}o} plot2d @
455 @fname{plot2d} (@var{plot}, @var{x_intervalo}, @dots{}, @var{op@,{c}@~{o}es}, @dots{}) @
456 @fname{plot2d} ([@var{gr@'{a}fico_1}, @dots{}, @var{gr@'{a}fico_n}], @dots{}, @var{op@,{c}@~{o}es}, @dots{}) @
457 @fname{plot2d} ([@var{gr@'{a}fico_1}, @dots{}, @var{gr@'{a}fico_n}], @var{x_intervalo}, @dots{}, @var{op@,{c}@~{o}es}, @dots{})
459 Onde @var{gr@'{a}fico}, @var{gr@'{a}fico_1}, @dots{}, @var{gr@'{a}fico_n} podem ser ou
460 express@~{o}es, ou nomes de fun@,{c}@~{o}es ou uma lista com
461 quaisquer das formas: @code{[discrete, [@var{x1}, ..., @var{xn}],
462 [@var{y1}, ..., @var{yn}]]}, @code{[discrete, [[@var{x1}, @var{y1}],
463 ..., [@var{xn}, ..., @var{yn}]]]} ou @code{[parametric, @var{x_expr},
464 @var{y_expr}, @var{t_intervalo}]}.
466 Exibe um gr@'{a}fico de uma ou mais express@~{o}es como uma fun@,{c}@~{a}o de uma
467 vari@'{a}vel ou par@^{a}metro.
469 A fun@,{c}@~{a}o @code{plot2d} exibe um ou v@'{a}rios gr@'{a}ficos em duas dimens@~{o}es.  Quando
470 express@~{o}es ou nomes de fun@,{c}@~{a}o forem usados para definir os gr@'{a}ficos,
471 eles devem todos depender de uma @'{u}nica vari@'{a}vel @var{var} e o uso de
472 @var{x_intervalo} ser@'{a} obrigat@'{o}rio, para informar o nome da vari@'{a}vel e
473 os valores m@'{a}ximo e m@'{i}nimo da referida vari@'{a}vel; a sintaxe para @var{x_intervalo} @'{e}:
474 @code{[@var{vari@'{a}vel}, @var{min}, @var{max}]}.
476 Um gr@'{a}fico tamb@'{e}m pode ser definido nas formas param@'{e}trica e discreta.  A
477 forma discreta @'{e} usada para fazer o gr@'{a}fico de um conjunto de pontos a partir de suas coordenadas.  Um
478 gr@'{a}fico discreto @'{e} definido por uma lista iniciando com a palavra chave
479 @var{discrete}, seguida por uma ou duas listas de valores.  Se duas listas forem
480 dadas, elas devem ter o mesmo comprimento; a primeira lista ser@'{a}
481 interpretada como as coordenadas x dos pontos a serem exibidos no gr@'{a}fico e a
482 segunda lista ser@'{a} interpretada como as coordenadas y.  Se somente uma lista for informada com a
483 palavra chave @var{discrete}, cada elementos na lista pode tamb@'{e}m ser uma lista
484 com dois valores que correspondem @`{a}s coordenadas x e y de um ponto,
485 ou pode ser uma sequ@^{e}ncia de valores num@'{e}ricos que ser@~{a}o mostrados
486 em valores inteiros consecutivos (1,2,3,...) no eixo x.
488 Um gr@'{a}fico param@'{e}trico @'{e} definido por uma lista iniciando com a palavra chave
489 @var{parametric}, seguida por duas express@~{o}es ou dois nomes de fun@,{c}@~{a}o e por um
490 intervalo para o par@^{a}metro.  O intervalo para o par@^{a}metro deve ser uma lista com
491 o nome do par@^{a}metro seguido por seus limites superior e inferior:
492 @code{[@var{param}, @var{min}, @var{max}]}.  O gr@'{a}fico ir@'{a} exibir o caminho
493 percorrido pelo ponto com coordenadas dadas pelas duas express@~{o}es ou
494 fun@,{c}@~{o}es, com @var{param} variando de @var{min} a @var{max}.
496 Um intervalo para o eixo vertical @'{e} um argumento opcional com a forma:
497 @code{[y, @var{min}, @var{max}]} (palavra chave @var{y} @'{e} sempre usada para
498 o eixo vertical).  Se a op@,{c}@~{a}o @var{y} for usada, o gr@'{a}fico ir@'{a} mostrar esse
499 intervalo vertical solicitado, independentemente dos valores alcan@,{c}ados pelo gr@'{a}fico.
500 Se o intervalo vertical n@~{a}o for especificado, ser@'{a} ajustado conforme
501 os valores m@'{a}ximo e m@'{i}nimo da segunda coordenada dos pontos do
502 gr@'{a}fico.
504 Todas as outras op@,{c}@~{o}es devem tamb@'{e}m serem listadas, iniciando com uma palavra chave e
505 seguida por um ou mais valores.  Veja @mrefdot{plot_options}
507 Se houverem muitos gr@'{a}ficos a serem feitos, uma legenda ser@'{a}
508 escrita para identificar cada gr@'{a}fico.  Os r@'{o}tulos que devem ser
509 usados na legenda podem ser fornecidos com a op@,{c}@~{a}o @mrefdot{legend}  Se a op@,{c}@~{a}o
510 @mref{legend} n@~{a}o for usada, Maxima criar@'{a} r@'{o}tulos a partir das express@~{o}es ou
511 nomes de fun@,{c}@~{a}o.
513 @c PUT EXAMPLES FOR PRECEDING SIMPLE FORMS OF plot2d HERE
514 @strong{Exemplos:}
516 Gr@'{a}fico de uma fun@,{c}@~{a}o comum:
518 @c ===beg===
519 @c plot2d (sin(x), [x, -%pi, %pi])$
520 @c ===end===
521 @example
522 (%i1) plot2d (sin(x), [x, -%pi, %pi])$
523 @end example
525 @ifnotinfo
526 @image{figures/plotting6,8cm}
527 @end ifnotinfo
529 Se a fun@,{c}@~{a}o cresce muito r@'{a}pido, pode ser necess@'{a}rio limitar os
530 valores no eixo vertical usando a op@,{c}@~{a}o @mref{y}:
532 @c ===beg===
533 @c plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
534 @c ===end===
535 @example
536 (%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
537 @end example
539 @ifnotinfo
540 @image{figures/plotting7,8cm}
541 @end ifnotinfo
543 Quando a caixa do gr@'{a}fico est@'{a} desabilitada, n@~{a}o @'{e} criado r@'{o}tulo para os eixos. In
544 Nesse caso, ao inv@'{e}s de usar @mref{xlabel} e @mref{ylabel} para ajustar os
545 nomes dos eixos, @'{e} melhor usar a op@,{c}@~{a}o @mrefcomma{label} que
546 permite mais flexibilidade. A op@,{c}@~{a}o @mref{yx_ratio} @'{e} usada para mudar a
547 apar@^{e}ncia retangular padr@~{a}o do gr@'{a}fico; no exemplo adiante o gr@'{a}fico
548 preencher@'{a} um quadrado.
550  @c ===beg===
551 @c plot2d ( x^2 - 1, [x, -3, 3], [box, false], grid2d,
552 @c      [yx_ratio, 1], [axes, solid], [xtics, -2, 4, 2],
553 @c      [ytics, 2, 2, 6], [label, ["x", 2.9, -0.3],
554 @c      ["x^2-1", 0.1, 8]], [title, "A parabola"])$
555 @c ===end===
556 @example
557 (%i1) plot2d ( x^2 - 1, [x, -3, 3], [box, false], grid2d,
558       [yx_ratio, 1], [axes, solid], [xtics, -2, 4, 2],
559       [ytics, 2, 2, 6], [label, ["x", 2.9, -0.3],
560       ["x^2-1", 0.1, 8]], [title, "A parabola"])$
561  @end example
563 @ifnotinfo
564 @image{figures/plotting8,8cm}
565 @end ifnotinfo
567 Um gr@'{a}fico com uma escala logar@'{i}timica no eixo vertical:
569 @c ===beg===
570 @c plot2d (exp(3*s), [s, -2, 2], logy)$
571 @c ===end===
572 @example
573 (%i1) plot2d (exp(3*s), [s, -2, 2], logy)$
574 @end example
576 @ifnotinfo
577 @image{figures/plotting9,8cm}
578 @end ifnotinfo
580 Gr@'{a}fico especificado atrav@'{e}s do nome da fun@,{c}@~{a}o:
582 @c ===beg===
583 @c F(x) := x^2 $
584 @c :lisp (defun |$g| (x) (m* x x x))
585 @c H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
586 @c plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
587 @c ===end===
588 @example
589 (%i1) F(x) := x^2 $
590 @group
591 (%i2) :lisp (defun |$g| (x) (m* x x x))
593 @end group
594 (%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
595 (%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
596 @end example
598 @ifnotinfo
599 @image{figures/plotting10,8cm}
600 @end ifnotinfo
602 A curva borboleta, definida parametricamente:
604 @c ===beg===
605 @c r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
606 @c plot2d([parametric, r*sin(t), r*cos(t), [t, -8*%pi, 8*%pi]])$
607 @c ===end===
608 @example
609 (%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
610 (%i2) plot2d([parametric, r*sin(t), r*cos(t), [t, -8*%pi, 8*%pi]])$
611 @end example
613 @ifnotinfo
614 @image{figures/plotting11,8cm}
615 @end ifnotinfo
617 O gr@'{a}fico em forma de c@'{i}rculo, usando sua representa@,{c}@~{a}o param@'{e}trica, juntamente com a
618 fun@,{c}@~{a}o -|x|. O c@'{i}rculo somente se parecer@'{a} com um c@'{i}rculo se a escala nos
619 dois eixos for a mesma, o que @'{e} feito com a op@,{c}@~{a}o @mrefdot{same_xy}
621 @c ===beg===
622 @c plot2d([[parametric, cos(t), sin(t), [t,0,2*%pi]], -abs(x)],
623 @c          [x, -sqrt(2), sqrt(2)], same_xy)$
624 @c ===end===
625 @example
626 @group
627 (%i1) plot2d([[parametric, cos(t), sin(t), [t,0,2*%pi]], -abs(x)],
628          [x, -sqrt(2), sqrt(2)], same_xy)$
629 @end group
630 @end example
632 @ifnotinfo
633 @image{figures/plotting12,8cm}
634 @end ifnotinfo
636 Um gr@'{a}fico de 200 n@'{u}meros aleat@'{o}rios entre 0 e 9:
638 @c ===beg===
639 @c plot2d ([discrete, makelist ( random(10), 200)])$
640 @c ===end===
641 @example
642 @group
643 (%i1) plot2d ([discrete, makelist ( random(10), 200)])$
644 @end group
645 @end example
647 @ifnotinfo
648 @image{figures/plotting13,8cm}
649 @end ifnotinfo
651 Um gr@'{a}fico de um conjuto discreto de pontos, definindo as coordenadas x e y separadamente:
653 @c ===beg===
654 @c plot2d ([discrete, makelist(i*%pi, i, 1, 5),
655 @c                            [0.6, 0.9, 0.2, 1.3, 1]])$
656 @c ===end===
657 @example
658 (%i1) plot2d ([discrete, makelist(i*%pi, i, 1, 5),
659                             [0.6, 0.9, 0.2, 1.3, 1]])$
660 @end example
662 @ifnotinfo
663 @image{figures/plotting14,8cm}
664 @end ifnotinfo
666 No exemplo adiante uma tabela com tr@^{e}s colunas @'{e} gravada no arquivo
667 ``dados.txt'' que @'{e} ent@~{a}o lido e a segunda e a terceira colunas s@~{a}o
668 colocadas em um gr@'{a}fico sobre os dois eixos:
670 @c ===beg===
671 @c with_stdout ("dados.txt", for x:0 thru 10 do
672 @c                              print (x, x^2, x^3))$
673 @c data: read_matrix ("dados.txt")$
674 @c plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
675 @c   [style,points], [point_type,diamond], [color,red])$
676 @c ===end===
677 @example
678 @group
679 (%i1) with_stdout ("dados.txt", for x:0 thru 10 do
680                              print (x, x^2, x^3))$
681 @end group
682 (%i2) data: read_matrix ("dados.txt")$
683 @group
684 (%i3) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
685   [style,points], [point_type,diamond], [color,red])$
686 @end group
687 @end example
689 @ifnotinfo
690 @image{figures/plotting15,8cm}
691 @end ifnotinfo
693 Um gr@'{a}fico de pontos de dados discretos juntos com uma fun@,{c}@~{a}o cont@'{i}nua:
695 @c ===beg===
696 @c xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
697 @c plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
698 @c         [style, points, lines], [color, red, blue],
699 @c         [point_type, asterisk],
700 @c         [legend, "experiment", "theory"],
701 @c         [xlabel, "pendulum's length (cm)"],
702 @c         [ylabel, "period (s)"])$
703 @c ===end===
704 @example
705 (%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
706 @group
707 (%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
708         [style, points, lines], [color, red, blue],
709         [point_type, asterisk],
710         [legend, "experiment", "theory"],
711         [xlabel, "pendulum's length (cm)"],
712         [ylabel, "period (s)"])$
713 @end group
714 @end example
716 @ifnotinfo
717 @image{figures/plotting16,8cm}
718 @end ifnotinfo
720 Veja tamb@'{e}m a se@,{c}@~{a}o @mref{Plotting Options} - Op@,{c}oes Gr@'{a}ficas Matem@'{a}ticas.
722 @opencatbox
723 @category{Plotting}
724 @closecatbox
725 @end deffn
727 @c -----------------------------------------------------------------------------
728 @anchor{plot3d}
729 @deffn {Fun@,{c}@~{a}o} plot3d @
730 @fname{plot3d} (@var{expr}, @var{x_intervalo}, @var{y_intervalo}, @dots{}, @var{op@,{c}@~{o}es}, @dots{}) @
731 @fname{plot3d} ([@var{expr_1}, @dots{}, @var{expr_n}], @var{x_intervalo}, @var{y_intervalo}, @dots{}, @var{op@,{c}@~{o}es}, @dots{})
733 Exibe um gr@'{a}fico de uma ou mais superf@'{i}cies definidas como fun@,{c}@~{o}es de duas
734 vari@'{a}veis ou na forma param@'{e}trica.
736 As fun@,{c}@~{o}es que ter@~{a}o seus gr@'{a}ficos exibidos podem ser especificadas como express@~{o}es ou nomes de fun@,{c}@~{o}es.
737 O mouse pode ser usado para rotacionar o gr@'{a}fico de forma a exibir a superf@'{i}cie a partir de
738 diferentes pontos de vista.
740 @strong{Exemplos:}
742 Gr@'{a}fico de uma fun@,{c}@~{a}o de duas vari@'{a}veis:
744 @c ===beg===
745 @c plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
746 @c         [mesh_lines_color,false])$
747 @c ===end===
748 @example
749 @group
750 (%i1) plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
751         [mesh_lines_color,false])$
752 @end group
753 @end example
755 @ifnotinfo
756 @image{figures/plotting17,8cm}
757 @end ifnotinfo
759 Uso da op@,{c}@~{a}o @mref{z} para limitar uma fun@,{c}@~{a}o que tende ao infinito
760 (nesse caso a fun@,{c}@~{a}o tende a menos infinito tanto no eixo x quanto no eixo y); Tamb@'{e}m
761 mostra como montar um gr@'{a}fico com linhas somente e sem preenchimento colorido:
763 @c ===beg===
764 @c plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
765 @c          [palette, false], [color, magenta])$
766 @c ===end===
767 @example
768 @group
769 (%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
770          [palette, false], [color, magenta])$
771 @end group
772 @end example
774 @ifnotinfo
775 @image{figures/plotting18,8cm}
776 @end ifnotinfo
778 Os valores infinitos de z podem tamb@'{e}m ser evitados escolhendo uma grade que
779 n@~{a}so se enquadre em qualquer ponto ondea fun@,{c}@~{a}o seja indefinida, como no
780 exemplo adiante, que tamb@'{e}m mostra como mudar a paleta como
781 incluir uma barra de cor que relaciona cores a valores da vari@'{a}vel z:
783 @c ===beg===
784 @c plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29],
785 @c       [palette, [gradient, red, orange, yellow, green]],
786 @c       color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
787 @c       [color_bar_tics, 4])$
788 @c ===end===
789 @example
790 @group
791 (%i1) plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29],
792        [palette, [gradient, red, orange, yellow, green]],
793        color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
794        [color_bar_tics, 4])$
796 @end group
797 @end example
799 @ifnotinfo
800 @image{figures/plotting19,8cm}
801 @end ifnotinfo
803 Duas superf@'{i}cies no mesmo gr@'{a}fico. Intervalos espec@'{i}ficos para uma das superf@'{i}cies podem
804 se fornecidos colocando cada express@~{a}o e seus intervalos em uma lista separada;
805 intervalos globais para o gr@'{a}fico como um todo tamb@'{e}m podem ser fornecidos ap@'{o}s as defini@,{c}@~{o}es
806 das fun@,{c}@~{o}es.
808 @c ===beg===
809 @c plot3d ([[-3*x - y, [x, -2, 2], [y, -2, 2]],
810 @c    4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]],
811 @c    [x, -4, 4], [y, -4, 4])$
812 @c ===end===
813 @example
814 @group
815 (%i1) plot3d ([[-3*x - y, [x, -2, 2], [y, -2, 2]],
816    4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]],
817    [x, -4, 4], [y, -4, 4])$
818 @end group
819 @end example
821 @ifnotinfo
822 @image{figures/plotting20,8cm}
823 @end ifnotinfo
825 Gr@'{a}fico de uma garrafa de Klein, definida parametricamente:
827 @c ===beg===
828 @c expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
829 @c expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
830 @c expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
831 @c plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
832 @c         [y, -%pi, %pi], [grid, 50, 50])$
833 @c ===end===
834 @example
835 (%i1) expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
836 (%i2) expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
837 (%i3) expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
838 @group
839 (%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
840         [y, -%pi, %pi], [grid, 50, 50])$
841 @end group
842 @end example
844 @ifnotinfo
845 @image{figures/plotting21,8cm}
846 @end ifnotinfo
848 Gr@'{a}fico de uma fun@,{c}@~{a}o ``harm@^{o}nica esf@'{e}rica'', usando uma transforma@,{c}@~{a}o
849 pr@'{e}-definida, @code{spherical_to_xyz} para transformar de coordenadas
850 esf@'{e}ricas para coordenadas retangulares. Veja a documenta@,{c}@~{a}o de
851 @mrefdot{spherical_to_xyz}
853 @c ===beg===
854 @c plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
855 @c         [phi, 0, 2*%pi],
856 @c         [transform_xy, spherical_to_xyz], [grid,30,60],
857 @c    [legend,false])$
858 @c ===end===
859 @example
860 @group
861 (%i1) plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
862         [phi, 0, 2*%pi],
863         [transform_xy, spherical_to_xyz], [grid,30,60],
864    [legend,false])$
865 @end group
866 @end example
868 @ifnotinfo
869 @image{figures/plotting22,8cm}
870 @end ifnotinfo
872 Uso da fun@,{c}@~{a}o pr@'{e}-definida @code{polar_to_xy} para transformar de coordenadas
873 cil@'{i}ndricas para coordenadas retangulares.  Veja a documenta@,{c}@~{a}o de
874 @mrefdot{polar_to_xy}
876 @c ===beg===
877 @c plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], [box, false],
878 @c    [grid, 12, 80], [transform_xy, polar_to_xy], [legend, false])$
879 @c ===end===
880 @example
881 @group
882 (%i1) plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], [box, false],
883    [grid, 12, 80], [transform_xy, polar_to_xy], [legend, false])$
884 @end group
885 @end example
887 @ifnotinfo
888 @image{figures/plotting23,8cm}
889 @end ifnotinfo
891 Gr@'{a}fico de uma esf@'{e}ra usando a transforma@,{c}@~{a}o de coordenadas esf@'{e}ricas para coordenadas
892 retangulares. A op@,{c}@~{a}o @mref{same_xyz} @'{e} usada para manter a escala dos tr@^{e}s
893 eixos na mesma na mesma propor@,{c}@~{a}o. Quando transforma@,{c}@~{o}es forem usadas, n@~{a}o @'{e}
894 conveniente eliminar as linhas de malha, pois Gnuplot n@~{a}o exibir@'{a} a
895 superf@'{i}cie corretamente.
897 @c ===beg===
898 @c plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi], same_xyz,
899 @c   [transform_xy, spherical_to_xyz], [mesh_lines_color,blue],
900 @c   [palette,[gradient,"#1b1b4e", "#8c8cf8"]], [legend, false])$
901 @c ===end===
902 @example
903 @group
904 (%i1) plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi], same_xyz,
905   [transform_xy, spherical_to_xyz], [mesh_lines_color,blue],
906   [palette,[gradient,"#1b1b4e", "#8c8cf8"]], [legend, false])$
907 @end group
908 @end example
910 @ifnotinfo
911 @image{figures/plotting24,8cm}
912 @end ifnotinfo
914 Defini@,{c}@~{a}o de uma fun@,{c}@~{a}o de duas vari@'{a}veis usando uma matriz.  Veja o
915 ap@'{o}strofo na defini@,{c}@~{a}o da fun@,{c}@~{a}o, para evitar que a @code{plot3d}
916 venha a falhar ao perceber que a matriz precisa de @'{i}ndices
917 inteiros.
919 @c ===beg===
920 @c M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
921 @c f(x, y) := float('M [round(x), round(y)])$
922 @c plot3d (f(x,y), [x,1,4],[y,1,4],[grid,3,3],[legend,false])$
923 @c ===end===
924 @example
925 (%i1) M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
926 (%i2) f(x, y) := float('M [round(x), round(y)])$
927 @group
928 (%i3) plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 3, 3], [legend, false])$
929 @end group
930 @end example
932 @ifnotinfo
933 @image{figures/plotting25,8cm}
934 @end ifnotinfo
936 Fazendo a eleva@,{c}@~{a}o para zero, uma superf@'{i}cie pode ser vista como um mapa
937 no qual cada cor representa um n@'{i}vel diferente.
939 @c ===beg===
940 @c plot3d (cos (-x^2 + y^3/4), [x,-4,4], [y,-4,4], [zlabel,""],
941 @c        [mesh_lines_color,false], [elevation,0], [azimuth,0],
942 @c        color_bar, [grid,80,80], [ztics,false], [color_bar_tics,1])$
943 @c ===end===
944 @example
945 @group
946 (%i1) plot3d (cos (-x^2 + y^3/4), [x,-4,4], [y,-4,4], [zlabel,""],
947        [mesh_lines_color,false], [elevation,0], [azimuth,0],
948        color_bar, [grid,80,80], [ztics,false], [color_bar_tics,1])$
949 @end group
950 @end example
952 @ifnotinfo
953 @image{figures/plotting26,8cm}
954 @end ifnotinfo
956 Veja tamb@'{e}m a se@,{c}@~{a}o @mref{Plotting Options} - Op@,{c}@~{o}es Gr@'{a}ficas Matem@'{a}ticas.
958 @opencatbox
959 @category{Plotting}
960 @closecatbox
961 @end deffn
963 @c -----------------------------------------------------------------------------
964 @anchor{plot_options}
965 @defvr {Vari@'{a}vel de sistema} plot_options
967 Essa op@,{c}@~{a}o est@'{a} sendo mantida por compatibilidade com vers@~{o}es antigas, mas seu
968 uso n@~{a}o mais @'{e} recomendado. Para ajustar op@,{c}@~{o}es de montagem de gr@'{a}fico globais, ver seus atuais
969 valores ou remover op@,{c}@~{o}es, use @mrefcomma{set_plot_option}
970 @mref{get_plot_option} e @mrefdot{remove_plot_option}
972 @opencatbox
973 @category{Plotting}
974 @closecatbox
975 @end defvr
977 @c -----------------------------------------------------------------------------
978 @anchor{remove_plot_option}
979 @deffn {Fun@,{c}@~{a}o} remove_plot_option (@var{nome})
981 Remove o valor padr@~{a}o de uma op@,{c}@~{a}o. O nome da op@,{c}@~{a}o deve ser informado.
983 Veja tamb@'{e}m @mrefcomma{set_plot_option} @mref{get_plot_option} e a se@,{c}@~{a}o
984 @mref{Plotting Options} - Op@,{c}@~{o}es Gr@'{a}ficas Matem@'{a}ticas.
986 @opencatbox
987 @category{Plotting}
988 @closecatbox
989 @end deffn
990 @c -----------------------------------------------------------------------------
991 @anchor{set_plot_option}
992 @deffn {Fun@,{c}@~{a}o} set_plot_option (@var{op@,{c}@~{a}o})
994 Aceita quaisquer das op@,{c}@~{o}es listadas na se@,{c}@~{a}o @mref{Plotting Options} - Op@,{c}@~{o}es Gr@'{a}ficas Matem@'{a}ticas, e
995 grava-as para serem usadas em comandos de montagem de gr@'{a}ficos matem@'{a}ticos. Os valores das op@,{c}@~{o}es ajustados
996 em cada comando de montagem de gr@'{a}fico sobrep@~{o}em-se  ao valor gravado, mas se n@~{a}o forem informados
997 no comando, os valores padr@~{a}o ajustados com essa fun@,{c}@~{a}o ser@~{a}o usados.
999 A fun@,{c}@~{a}o @code{set_plot_option} avalia seus argumentos e retorna a lista
1000 completa de op@,{c}@~{o}es (ap@'{o}s modificar a op@,{c}@~{a}o solicitada). Se chamada sem
1001 argumentos, simplesmente exibir@'{a} a lista das op@,{c}@~{o}es padr@~{a}o atuais.
1003 Veja tamb@'{e}m @mrefcomma{remove_plot_option} @mref{get_plot_option} e a se@,{c}@~{a}o
1004 @mref{Plotting Options} - Op@,{c}@~{o}es Gr@'{a}ficas Matem@'{a}ticas.
1006 Exemplo:
1008 Modifica@,{c}@~{a}o dos valores de @mref{grid}.
1010 @c ===beg===
1011 @c set_plot_option ([grid, 30, 40]);
1012 @c ===end===
1013 @example
1014 (%i1) set_plot_option ([grid, 30, 40]);
1015 (%o1) [[plot_format, gnuplot_pipes], [grid, 30, 40], 
1016 [run_viewer, true], [axes, true], [nticks, 29], [adapt_depth, 5], 
1017 [color, blue, red, green, magenta, black, cyan], 
1018 [point_type, bullet, box, triangle, plus, times, asterisk], 
1019 [palette, [gradient, green, cyan, blue, violet], 
1020 [gradient, magenta, violet, blue, cyan, green, yellow, orange, 
1021 red, brown, black]], [gnuplot_preamble, ], [gnuplot_term, default]]
1022 @end example
1024 @opencatbox
1025 @category{Plotting}
1026 @closecatbox
1027 @end deffn
1029 @c -----------------------------------------------------------------------------
1030 @anchor{spherical_to_xyz}
1031 @deffn {Fun@,{c}@~{a}o de sistema} spherical_to_xyz
1033 A fun@,{c}@~{a}o de sistema @code{spherical_to_xyz} pode ser dada como valor para a op@,{c}@~{a}o @mref{transform_xy} da
1034 @mrefdot{plot3d} O efeito diisso ser@'{a} interpretar as duas vari@'{a}veis
1035 independentes e a fun@,{c}@~{a}o informada na @code{plot3d} como as coordenadas esf@'{e}ricas
1036 de um ponto (primeiro, o @^{a}ngulo com o eixo z, a seguir o @^{a}ngulos da proje@,{c}@~{a}o
1037 xy com o eixo x e finalmente a dist@^{a}ncia a partir da or@'{i}gem) e
1038 transformar tudo isso para coordenadas x, y e z.
1040 @opencatbox
1041 @category{Plotting}
1042 @closecatbox
1043 @end deffn
1045 @c -----------------------------------------------------------------------------
1046 @node Plotting Options, Gnuplot Options, Functions and Variables for Plotting, Plotting
1047 @section Plotting Options
1048 @c -----------------------------------------------------------------------------
1050 Todas as op@,{c}@~{o}es consistem de uma lista iniciando com uma das palavras chave nessa
1051 se@,{c}@~{a}o, acompanhada de um ou mais valores. Algumas das op@,{c}@~{o}es podem ter
1052 diferentes efeitos em diferentes comandos de montagem de gra@'{a}ficos como ser@'{a}
1053 ressaltado na lista adiante. A maioria das op@,{c}@~{o}es que aceitam entre seus poss@'{i}veis
1054 valores @code{true} ou @code{false}, pode tambẽm ser ajustada para @code{true} simplesmente escrevendo seu
1055 nome. Por exemplo, digitando @code{logx} como uma op@,{c}@~{a}o @'{e} equivalente a escrever
1056 @code{[logx, true]}.
1059 @c -----------------------------------------------------------------------------
1060 @anchor{adapt_depth}
1061 @defvr {Op@,{c}@~{a}o gr@'{a}fica} adapt_depth [adapt_depth, @var{inteiro}]
1062 Valor padr@~{a}o: @code{5}
1064 O n@'{u}mero m@'{a}ximo de divis@~{o}es em intervalos usado pela rotina adaptativa de montagem de gr@'{a}ficos matem@'{a}ticos.
1066 @opencatbox
1067 @category{Plotting}
1068 @closecatbox
1069 @end defvr
1071 @c -----------------------------------------------------------------------------
1072 @anchor{axes}
1073 @defvr {Op@,{c}@~{a}o gr@'{a}fica} axes [axes, @var{s@'{i}mbolo}] 
1074 Valor padr@~{a}o: @code{true}
1076 A palavra @var{s@'{i}mbolo} pode ser substitu@'{i}da por @code{true}, ou por @code{false}, ou por @code{x},
1077 ou por @code{y} ou por @code{solid}. Se @code{false}, nenhum eixo @'{e} exibido; se
1078 @code{x} ou @code{y} somente o eixo x ou o eixo y ser@'{a} exibido; se
1079 @code{true}, ambos os eixo ser@~{a}o exibidos e @code{solid} exibir@'{a}
1080 os dois eixo com uma linha s@'{o}lida, ao inv@'{e}s da linha tracejada
1081 padr@~{a}o. Essa op@,{c}@~{a}o n@~{a}o tem qualquer efeito em gr@'{a}ficos matem@'{a}ticos tridimensionais.
1083 @opencatbox
1084 @category{Plotting}
1085 @closecatbox
1086 @end defvr
1088 @c -----------------------------------------------------------------------------
1089 @anchor{azimuth}
1090 @defvr {Op@,{c}@~{a}o gr@'{a}fica} azimuth [azimuth, @var{n@'{u}mero}]
1091 Valor padr@~{a}o: @code{30}
1093 Um gr@'{a}fico montado atrav@'{e}s da @code{plot3d} pode ser entendido como iniciando com os eixos x e y posicionados
1094 como eixos horizontal e vertical, da mesma forma que na @code{plot2d}, e o eixo z saindo para fora
1095 da tela.  O eixo z @'{e} ent@~{a}o rotacionado em torno do eixo x de um @^{a}ngulo
1096 correspondente @`{a} @mref{elevation} e ent@~{a}o o novo plano xy @'{e} rotacionado
1097 em torno do novo eixo z de um @^{a}ngulo @mrefdot{azimuth} Essa op@,{c}@~{a}o ajusta
1098 o valor para o azimute, em graus.
1100 Veja tamb@'{e}m @mrefdot{elevation}
1102 @opencatbox
1103 @category{Plotting}
1104 @closecatbox
1105 @end defvr
1107 @c -----------------------------------------------------------------------------
1108 @anchor{option_box}
1109 @defvr {Op@,{c}@~{a}o gr@'{a}fica} box [box, @var{symbol}]
1110 Valor padr@~{a}o: @code{true}
1112 Se ajustado para @code{true}, uma caixa associada ser@'{a} desenhada no gr@'{a}fico; se ajustada
1113 para @code{false}, nenhuma caixa ser@'{a} mostrada.
1115 @opencatbox
1116 @category{Plotting}
1117 @closecatbox
1118 @end defvr
1120 @c -----------------------------------------------------------------------------
1121 @anchor{color}
1122 @defvr {Op@,{c}@~{a}o gr@'{a}fica} color [color, @var{color_1}, @dots{}, @var{color_n}]
1124 Em gr@'{a}ficos bidimensionais define a cor (ou cores) para as v@'{a}rias curvas.  Em
1125 @mrefcomma{plot3d} define as cores usadas para as linhas de malha das
1126 superf@'{i}cies, quando nenhuma paleta for usada.
1128 Se houverem mais curvas ou superf@'{i}cies que cores, as cores ser@~{a}o
1129 repetidas sequancialmente. As cores v@'{a}lidas s@~{a}o @footnote{Nota do tradutor:
1130 vermelho, verde, azul escuro, rosa, azul claro, amarelo, alaranjado, violeta, 
1131 marrom, cinza, preto, branco.} @code{red}, @code{green},
1132 @code{blue}, @code{magenta}, @code{cyan}, @code{yellow}, @code{orange},
1133 @code{violet}, @code{brown}, @code{gray}, @code{black}, @code{white}, ou
1134 uma sequ@^{e}ncia de caracteres iniciando com o caractere cerquilha # e seguido por seis d@'{i}gitos em
1135 hexadecimal: dois para a componente vermelha, dois para a componente verde e dois para
1136 a componente azul. Se o nome de uma dada cor for desconhecida, preto
1137 ser@'{a} usado no lugar dessa cor desconhecida.
1139 @opencatbox
1140 @category{Plotting}
1141 @closecatbox
1142 @end defvr
1144 @c -----------------------------------------------------------------------------
1145 @anchor{color_bar}
1146 @defvr {Op@,{c}@~{a}o gr@'{a}fica} color_bar [color_bar, @var{s@'{i}mbolo}]
1147 Valor padr@~{a}o: @code{false} na plot3d, @code{true} em mandelbrot e julia
1149 Onde @var{s@'{i}mbolo} pode ser ou @code{true} ou @code{false}.  Se
1150 @code{true}, sempre que @mrefcomma{plot3d} @mref{mandelbrot} ou
1151 @mref{julia} usarem uma paleta para representar diferentes valores, uma caixa ser@'{a}
1152 exibida do lado direito, fazendo a correspond@^{e}ncia entre cores e valores.
1154 @opencatbox
1155 @category{Plotting}
1156 @closecatbox
1157 @end defvr
1159 @c -----------------------------------------------------------------------------
1160 @anchor{color_bar_tics}
1161 @defvr {Op@,{c}@~{a}o gr@'{a}fica} color_bar_tics [color_bar_tics, @var{x1}, @var{x2}, @var{x3}]
1163 Define os valores para os quais uma marca e um n@'{u}mero ser@~{a}o colocados na
1164 barra de cor. O promeiro n@'{u}mero @'{e} o valor inicial, o segundo os
1165 incrementos e o terceiro o @'{u}ltimo valor onde a marca for colocada. O
1166 segundo e o terceiro n@'{u}mero podem ser omitidos. Quando somente um n@'{u}mero for dado,
1167 ser@'{a} usado como incremento a partir do valor inicial que ser@'{a}
1168 escolhido automaticamente.
1170 @opencatbox
1171 @category{Plotting}
1172 @closecatbox
1173 @end defvr
1175 @c -----------------------------------------------------------------------------
1176 @anchor{elevation}
1177 @defvr {Op@,{c}@~{a}o gr@'{a}fica} elevation [elevation, @var{n@'{u}mero}]
1178 Valor padr@~{a}o: @code{60}
1180 Um gr@'{a}fico feito com @code{plot3d} pode ser entendido com iniciando com os eixos x e y como
1181 eixos vertical e horizontal, como em @code{plot2d}, e o eixo z vindo de dentro
1182 da tela.  O eixo z @'{e} ent@~{a}o rotacionado em torno do eixo x at@'{e} um
1183 @^{a}ngulo igual a @mref{elevation} e ent@~{a}o o novo plano xy @'{e} rotacionado
1184 em volta do novo eixo z at@'{e} um @^{a}ngulo @mrefdot{azimuth} Essa op@,{c}@~{a}o ajusta
1185 o valor do azimute, em graus.
1187 Veja tamb@'{e}m @mrefdot{azimuth}
1189 @opencatbox
1190 @category{Plotting}
1191 @closecatbox
1192 @end defvr
1194 @c -----------------------------------------------------------------------------
1195 @anchor{grid}
1196 @defvr {Op@,{c}@~{a}o gr@'{a}fica} grid [grid, @var{inteiro}, @var{inteiro}]
1197 Valor padr@~{a}o: @code{30}, @code{30}
1199 Ajusta o n@'{u}mero de pontos de grade usados nas dire@,{c}@~{o}es x e y em
1200 gr@'{a}ficos tridimensionais ou para os programas @mref{julia} e
1201 @mref{mandelbrot}.
1203 @opencatbox
1204 @category{Plotting}
1205 @closecatbox
1206 @end defvr
1208 @c -----------------------------------------------------------------------------
1209 @anchor{grid2d}
1210 @defvr {Op@,{c}@~{a}o gr@'{a}fica} grid2d [grid, @var{value}]
1211 Valor padr@~{a}o: @code{false}
1213 Exibe uma malha no plano xy. Os pontos onde a malha
1214 @'{e} colocada s@~{a}o os mesmos pontos onde pulsos s@~{a}o marcados nos eixos x
1215 and y, os quais podem ser controlados com as op@,{c}@~{o}es @mref{xtics} e
1216 @mrefdot{ytics}
1218 @opencatbox
1219 @category{Plotting}
1220 @closecatbox
1221 @end defvr
1223 @c -----------------------------------------------------------------------------
1224 @anchor{iterations}
1225 @defvr {Op@,{c}@~{a}o gr@'{a}fica} iterations [grid, @var{value}]
1226 Valor padr@~{a}o: @code{9}
1228 N@'{u}mero de itera@,{c}@~{o}es feitas pelos programas mandelbrot e julia.
1230 @opencatbox
1231 @category{Plotting}
1232 @closecatbox
1233 @end defvr
1235 @c -----------------------------------------------------------------------------
1236 @anchor{label}
1237 @defvr  {Op@,{c}@~{a}o gr@'{a}fica} label [label, [@var{string}, @var{x}, @var{y}], @dots{}]
1239 Escreve um ou v@'{a}rios r@'{o}tulos nos pontos de coordenadas 
1240 @var{x}, @var{y} indicados ap@'{o}s cada r@'{o}tulo.
1242 @opencatbox
1243 @category{Plotting}
1244 @closecatbox
1245 @end defvr
1247 @c -----------------------------------------------------------------------------
1248 @anchor{legend}
1249 @defvr {Op@,{c}@~{a}o gr@'{a}fica} legend @
1250 @fname{legend} [legend, @var{string_1}, @dots{}, @var{string_n}] @
1251 @fname{legend} [legend, @var{false}]
1253 Especifica os r@'{o}tulos para os gr@'{a}ficos quando v@'{a}rios gr@'{a}ficos s@~{a}o exibidos.  Se
1254 houverem mais graficos que n@'{u}meros de r@'{o}tulos, os n@'{u}meros ser@~{a}o
1255 repetidos.  Se dado o valor @code{false}, nenhuma legenda @'{e} mostrada.  or
1256 padr@~{a}o, os nomes das express@~{o}es ou fun@,{c}@~{o}es ser@~{a}o usados, ou as
1257 palavras discrete1, discrete2, @dots{}, para conjuntos discretos de pontos.
1259 @opencatbox
1260 @category{Plotting}
1261 @closecatbox
1262 @end defvr
1264 @c -----------------------------------------------------------------------------
1265 @anchor{logx}
1266 @defvr {Op@,{c}@~{a}o gr@'{a}fica} logx [logx, @var{valor}]
1268 Adota a escala logar@'{i}tmica para o eixo horizontal. Os valores que @code{logx} pode assumir
1269 s@~{a}o @code{true} ou @code{false}.
1271 @opencatbox
1272 @category{Plotting}
1273 @closecatbox
1274 @end defvr
1276 @c -----------------------------------------------------------------------------
1277 @anchor{logy}
1278 @defvr {Op@,{c}@~{a}o gr@'{a}fica} logy [logy, @var{valor}]
1280 Adota a escala logar@'{i}tmica para o eixo vertical. Os valores que @code{logx} pode assumir
1281 s@~{a}o @code{true} ou @code{false}.
1283 @opencatbox
1284 @category{Plotting}
1285 @closecatbox
1286 @end defvr
1288 @c -----------------------------------------------------------------------------
1289 @anchor{mesh_lines_color}
1290 @defvr {Op@,{c}@~{a}o gr@'{a}fica} mesh_lines_color [mesh_lines_color, @var{color}]
1291 Valor padr@~{a}o: @code{black}
1293 Ajusta a cor em @code{plot3d} no desenho das linhas da malha, quando uma paleta for
1294 usada.  Aceita as mesmas cores que a op@,{c}@~{a}o @mref{color}@w{}
1295 (veja a lista das cores permitidas em @mref{color}).  Pode tamb@'{e}m assumir o
1296 valor @code{false} que omite a malha.
1298 @opencatbox
1299 @category{Plotting}
1300 @closecatbox
1301 @end defvr
1303 @c -----------------------------------------------------------------------------
1304 @anchor{nticks}
1305 @defvr {Op@,{c}@~{a}o gr@'{a}fica} nticks [nticks, @var{inteiro}]
1306 Valor padr@~{a}o: @code{29}
1308 Em gr@'{a}ficos de fun@,{c}@~{o}es constru@'{i}dos com a @mrefcomma{plot2d} fornece o n@'{u}mero
1309 inicial de pontos usado pela rotina adaptativa para montagem de gr@'{a}ficos de
1310 fun@,{c}@~{o}es.  Em gr@'{a}ficos de fun@,{c}@~{o}es param@'{e}tricas montados com @mrefcomma{plot3d}
1311 ajusta o n@'{u}mero de pontos que ir@'{a} ser mostrado no gr@'{a}fico.
1313 @opencatbox
1314 @category{Plotting}
1315 @closecatbox
1316 @end defvr
1318 @c -----------------------------------------------------------------------------
1319 @anchor{palette}
1320 @defvr  {Op@,{c}@~{a}o gr@'{a}fica} palette @
1321 @fname{palette} [palette, [@var{palette_1}], @dots{}, [@var{palette_n}]] @
1322 @fname{palette} [palette, @var{false}]
1324 Consiste de uma paleta ou de uma lista de muitas paletas.  Cada
1325 paleta @'{e} uma lista com uma palavra chave seguida de valores. Se a palavra chave for
1326 @code{gradient}, a palavra @code{gradient} pode ser seguida por uma lista de cores v@'{a}lidas.
1328 Se a palavra chave for @code{hue}, @code{saturation} ou @code{value}, essas palavras devem obrigatoriamente ser seguidas por 4
1329 n@'{u}meros. Os primeiros tr@^{e}s n@'{u}meros, que devem estar entre 0 e 1, definem
1330 a matiz (@code{hue}), a satura@,{c}@~{a}o e o valor de uma cor b@'{a}sica a serem os tr@^{e}s atribu@'{i}dos ao
1331 valor m@'{i}nimo de z. A palavra chave especifica qual dos tr@^{e}s atributos
1332 (matiz - @code{hue}, satura@,{c}@~{a}o - @code{saturation} ou valor - @code{value}) ser@'{a} incrementado conforme os valores de
1333 z.  O @'{u}ltimo n@'{u}mero indica o incremento que corresponde ao valor
1334 m@'{a}ximo de z.  Esse @'{u}ltimo n@'{u}mero pode ser maior que 1 ou negativo; Os
1335 valores correspondentes do atributo modificado ser@'{a} arredondado m@'{o}dulo 1.
1337 Gnuplot somente usa a primeira paleta na lista; xmaxima usar@'{a} as
1338 paletas na lista sequancialmente, quando muitas superf@'{i}cies forem exibidas juntas em
1339 um gr@'{a}fico; se o n@'{u}mero de paletas for usado completamente, ser@~{a}o repetidos
1340 sequancialmente.
1342 A cor das linhas de malha ser@'{a} dada pela op@,{c}@~{a}o
1343 @mrefdot{mesh_lines_color}  Se @`{a} palavra chave @code{palette} for atribu@'{i}do o valor
1344 @code{false}, as superf@'{i}cies n@~{a}o ser@~{a}o preenchidas com cores diferentes mas representadas como uma
1345 malha de curvas somente.  Nesse caso, as cores das linhas da malha ser@~{a}o
1346 determinadas pela op@,{c}@~{a}o @mrefdot{color}
1348 @opencatbox
1349 @category{Plotting}
1350 @closecatbox
1351 @end defvr
1353 @c -----------------------------------------------------------------------------
1354 @anchor{plot_format}
1355 @defvr {Op@,{c}@~{a}o gr@'{a}fica} plot_format [plot_format, @var{formato}]
1356 Valor padr@~{a}o: @code{gnuplot_pipes} em todos os sistemas menos no
1357 Windows onde o valor @'{e} @code{gnuplot}.
1359 Onde @var{formato} @'{e} um dos seguintes: gnuplot, xmaxima, mgnuplot ou
1360 gnuplot_pipes.
1362 Ajusta o formato usado na montagem dos gr@'{a}ficos matem@'{a}ticos.
1364 @opencatbox
1365 @category{Plotting}
1366 @closecatbox
1367 @end defvr
1369 @c -----------------------------------------------------------------------------
1370 @anchor{plot_real_part}
1371 @defvr {Op@,{c}@~{a}o gr@'{a}fica} plot_realpart [plot_realpart, @var{symbol}]
1372 Valor padr@~{a}o: @code{false}
1374 Se for @code{true}, as fun@,{c}@~{o}es a terem seus gr@'{a}ficos montados ser@~{a}o consideradas
1375 como fun@,{c}@~{o}es complexas cuja parte real deve ser colocada no gr@'{a}fico; @'{E}
1376 equivalente a montar o gr@'{a}fico com @code{realpart(@var{function})}.  Se
1377 @code{false}, nada ser@'{a} colocado no gr@'{a}fico quando a fun@,{c}@~{a}o tiver somente a
1378 parte imagin@'{a}ria.  Por exemplo, quando @code{x} for negativo, @code{log(x)} retorna um
1379 valor complexo, coma valor real igual a @code{log(abs(x))}; se
1380 @code{plot_realpart} fosse @code{true}, @code{log(-5)} teria seu gr@'{a}fico da mesma
1381 forma que @code{log(5)}, enquanto nada seria colocado no gr@'{a}fico se
1382 @code{plot_realpart} fosse @code{false}.
1384 @opencatbox
1385 @category{Plotting}
1386 @closecatbox
1387 @end defvr
1389 @c -----------------------------------------------------------------------------
1390 @anchor{point_type}
1391 @defvr {Op@,{c}@~{a}o gr@'{a}fica} point_type [point_type, @var{type_1}, @dots{}, @var{type_n}]
1393 No gnuplot, cada conjunto de pontos a ser colocado no gr@'{a}fico com o estilo ``points''
1394 ou com o estilo ``linespoints'' ser@'{a} representado com objetos tomados dessa
1395 lista, em ordem sequancial.  Se ouverem mais conjuntos de pontos que objetos
1396 na lista, os objetos ser@~{a}o repetidos sequancialmente.
1397 Os objetos poss@'{i}veis que podem ser usados s@~{a}o: @code{bullet}, @code{circle},
1398 @code{plus}, @code{times}, @code{asterisk}, @code{box}, @code{square},
1399 @code{triangle}, @code{delta}, @code{wedge}, @code{nabla}, @code{diamond},
1400 @code{lozenge}.
1402 @opencatbox
1403 @category{Plotting}
1404 @closecatbox
1405 @end defvr
1407 @c --------------------------------------------------------------------------
1408 @anchor{pdf_file}
1409 @defvr {Op@,{c}@~{a}o gr@'{a}fica} pdf_file [pdf_file, @var{nome_arquivo}]
1411 Grava o gr@'{a}fico em um arquivo PDF com o nome igual a @var{nome_arquivo},
1412 ao inv@'{e}s de exib@'{i}-lo na tela.  Por padr@~{a}o, o arquivo ser@'{a}
1413 criado no diret@'{o}ri definido pela vari@'{a}vel
1414 @mrefcomma{maxima_tempdir} a menos que @var{nome_arquivo} contenha o caractere
1415 ``/'', devido a que ser@'{a} assumido que o nome do arquivo cont@'{e}m o caminho completo onde
1416 o arquivo deve ser criado. O valor de @mref{maxima_tempdir} pode ser mudado
1417 de forma a gravar o arquivo em um diret@'{o}rio diferente. Quando a op@,{c}@~{a}o
1418 @mref{gnuplot_pdf_term_command} for tamb@'{e}m fornecida, ser@'{a} tamb@'{e}m usada para ajustar
1419 o terminal PDF do Gnuplot; de outra forma, o terminal pdfcairo do Gnuplot
1420 ser@'{a} usado com linhas coloridas s@'{o}lidas de largura 3, Tamanho
1421 gr@'{a}fico de 17.2 cm por 12.9 cm e fonte de 18 pontos.
1423 @opencatbox
1424 @category{Plotting}
1425 @closecatbox
1426 @end defvr
1428 @c -----------------------------------------------------------------------------
1429 @anchor{png_file}
1430 @defvr {Op@,{c}@~{a}o gr@'{a}fica} png_file [png_file, @var{nome_arquivo}]
1432 Guarda o gr@'{a}fico em um arquivo no formato PNG com nome igual a @var{nome_arquivo},
1433 ao inv@'{e}s de exib@'{i}-lo na tela. Por padr@~{a}o, o arquivo ser@'{a}
1434 criado no diret@'{o}rio definido pela vari@'{a}vel
1435 @mrefcomma{maxima_tempdir} a menos que @var{nome_arquivo} contenha o caractere
1436 ``/'', devido a que ser@'{a} assumido que o nome do arquivo cont@'{e}m o caminho completo onde
1437 o arquivo deve ser criado. O valor de @mref{maxima_tempdir} pode ser mudado
1438 de forma a gravar o arquivo em um diret@'{o}rio diferente. Quando a op@,{c}@~{a}o
1439 @mref{gnuplot_png_term_command} for tamb@'{e}m fornecida, ser@'{a} tamb@'{e}m usada para ajustar
1440 o terminal PNG do Gnuplot; de outra forma, o terminal pngcairo do Gnuplot
1441 ser@'{a} usado, com fonte tamanho 12. 
1443 @opencatbox
1444 @category{Plotting}
1445 @closecatbox
1446 @end defvr
1448 @c -----------------------------------------------------------------------------
1449 @anchor{ps_file}
1450 @defvr {Op@,{c}@~{a}o gr@'{a}fica} ps_file [ps_file, @var{nome_arquivo}]
1452 Guarda o gr@'{a}fico em um arquivo no formato Postscript com nome igual a @var{nome_arquivo},
1453 ao inv@'{e}s de exib@'{i}-lo na tela.  Por padr@~{a}o, o arquivo ser@'{a}
1454 criado no diret@'{o}rio definido pela vari@'{a}vel
1455 @mrefcomma{maxima_tempdir} a menos que @var{nome_arquivo} contenha o caractere
1456 ``/'', devido a que ser@'{a} assumido que o nome do arquivo cont@'{e}m o caminho completo onde
1457 o arquivo deve ser criado. O valor de @mref{maxima_tempdir} pode ser mudado
1458 de forma a gravar o arquivo em um diret@'{o}rio diferente. Quando a op@,{c}@~{a}o
1459 @mref{gnuplot_ps_term_command} for tamb@'{e}m fornecida, ser@'{a} tamb@'{e}m usada para ajustar
1460 o terminal Postscript do Gnuplot; de outra forma, o terminal postscript do Gnuplot
1461 ser@'{a} usado com a op@,{c}@~{a}o EPS, linhas coloridas s@'{o}lidas de largura 2, gr@'{a}fico
1462 tamanho 16.4 cm por 12.3 cm e fonte de 24 pontos.
1464 @opencatbox
1465 @category{Plotting}
1466 @closecatbox
1467 @end defvr
1469 @c -----------------------------------------------------------------------------
1470 @anchor{run_viewer}
1471 @defvr {Op@,{c}@~{a}o gr@'{a}fica} run_viewer [run_viewer, @var{symbol}]
1473 Essa op@,{c}@~{a}o @'{e} somente usada quando o formato do arquivo de sa@'{i}da do gr@'{a}fico matem@'{a}tico for @code{gnuplot} e o
1474 terminal for @code{default} ou quando o terminal do Gnuplot for ajustado em
1475 @code{dumb} (veja @mref{gnuplot_term}) e essa mesma op@,{c}@~{a}o @code{run_viewer} avaliar para
1476 @code{true} ou @code{false}.
1478 Se o terminal for @code{default}, um arquivo @code{maxout.gnuplot} (ou
1479 outro nome especificado com @mref{gnuplot_out_file}) @'{e} criado com os
1480 comandos gnuplot necess@'{a}rios para gerar o gr@'{a}fico. A op@,{c}@~{a}o @code{run_viewer}
1481 controla se ou n@~{a}o Gnuplot ser@'{a} usado para executar aqueles
1482 comandos e exibir o gr@'{a}fico matem@'{a}tico.
1484 Se o terminal for @code{default}, gnuplot @'{e} usado pra executar os
1485 comandos em @code{maxout.gnuplot}, produzindo outro arquivo
1486 chamado @code{maxplot.txt} (ou com outro nome especificado atrav@'{e}s de
1487 @mref{gnuplot_out_file}). A op@,{c}@~{a}o @code{run_viewer} controla se ou
1488 n@~{a}o o arquivo @code{maxplot.txt}, com uma representa@,{c}@~{a}o no formato ASCII do gr@'{a}fico, ser@'{a} exibida
1489 no Maxima ou no console Xmaxima.
1491 O valor padr@~{a}o para essa op@,{c}@~{a}o @'{e} @code{true}, fazendo com que os gr@'{a}ficos sejam exibidos
1492 ou no console ou em uma janela gr@'{a}fica separada.
1494 @opencatbox
1495 @category{Plotting}
1496 @closecatbox
1497 @end defvr
1499 @c -----------------------------------------------------------------------------
1500 @anchor{same_xy}
1501 @defvr {Op@,{c}@~{a}o gr@'{a}fica} same_xy [same_xy , @var{valor}]
1503 A op@,{c}@~{a}o @code{same_xy} pode ser ou @code{true} @code{false}. Se @code{true}, as escalas usadas nos eixos
1504 x e y ser@~{a}o as mesmas, tanto em gr@'{a}ficos bidimensionais quanto em gr@'{a}ficos tridimensionais. Veja tamb@'{e}m @mrefdot{yx_ratio}
1506 @opencatbox
1507 @category{Plotting}
1508 @closecatbox
1509 @end defvr
1511 @c -----------------------------------------------------------------------------
1512 @anchor{same_xyz}
1513 @defvr {Op@,{c}@~{a}o gr@'{a}fica} same_xyz [same_xyz , @var{valor}]
1515 A op@,{c}@~{a}o @code{same_xyz} pode ser ou @code{true} ou @code{false}. Se @code{true}, as escalas usadas nos 3 eixos de
1516 um gr@'{a}fico tridimensional ser@~{a}o iguais.
1518 @opencatbox
1519 @category{Plotting}
1520 @closecatbox
1521 @end defvr
1523 @c -----------------------------------------------------------------------------
1524 @anchor{style}
1525 @defvr  {Op@,{c}@~{a}o gr@'{a}fica} style @
1526 @fname{style} [style, @var{type_1}, @dots{}, @var{type_n}] @
1527 @fname{style} [style, [@var{style_1}], @dots{}, [@var{style_n}]]
1529 Os estilos que ir@~{a}o ser usados nas v@'{a}rias fun@,{c}@~{o}es ou conjuntos de dados
1530 em um gr@'{a}fico bidimensional.  A palavra @var{style} deve ser seguida por um ou mais
1531 estilos.  Se ouverem mais fun@,{c}@~{o}es e conjuntos de dados que estilos
1532 informados, os estilos ser@~{a}o repetidos.  Cada estilo pode ser ou
1533 @var{lines} para segmentos de reta, @var{points} para pontos isolados,
1534 @var{linespoints} para segmentos e pontos, ou @var{dots} para pequenos
1535 pontos isolados.  Gnuplot aceita tamb@'{e}m o estilo @var{impulses}.
1537 Cada um dos estilos pode ser contido dentro de uma lista com alguns par@^{a}metros
1538 adicionais.  O estilo @var{lines} aceita um ou dois n@'{u}meros: a espessura da
1539 linha e um inteiro que identifica uma cor.  Os c@'{o}digos de cor padr@~{a}o
1540 s@~{a}o: 1: azul, 2: vermelho, 3: rosa, 4: alaranjado, 5: marrom, 6: verde lim@~{a}o e 7:
1541 verde azulado.  Se voc@^{e} usa Gnuplot com um terminal diferente do X11,
1542 essas cores podem ser diferentes; por exemplo, ser voc@^{e} usa a op@,{c}@~{a}o
1543 [@var{gnuplot_term}, @var{ps}], o @'{i}ndice de cor 4 corresponder@'{a} ao preto,
1544 ao inv@'{e}s de ao alaranjado.
1546 O estilo @var{points} aceita um, dois ou tr@^{e}s par@^{a}metros; o primeiro par@^{a}metro
1547 @'{e} o raio dos pontos, o segundo par@^{a}metro @'{e} um inteiro que
1548 seleciona a cor, usando o mesmo c@'{o}digo v@'{a}lido para o estilo @var{lines} e o
1549 terceiro par@^{a}metro usado somente pelo Gnuplot e corresponde
1550 a muitos objetos e n@~{a}o somente a pontos.  Os tipos padr@~{a}o de
1551 objetos s@~{a}o: 1: discos, 2: aros, 3: sinais de mais, 4: x,
1552 5: *, 6: @'{a}reas quadradas, 7: quadrados vazios, 8: @'{a}reas triangulares, 9: tri@^{a}ngulos
1553 vazios, 10: @'{a}reas triangulares invertidas, 11: tri@^{a}ngulos vazios invertidos,
1554 12: @'{a}reas lozangulares e 13: loz@^{a}ngulos vazios.
1556 O estilo @var{linespoints} aceita at@'{e} quatro par@^{a}metros: espessura da linha, raio
1557 dos pontos, cor e tipo de objetos que sbstitui os pontos.
1559 Veja tamb@'{e}m @mref{color} e @mrefdot{point_type}
1561 @opencatbox
1562 @category{Plotting}
1563 @closecatbox
1564 @end defvr
1566 @c -----------------------------------------------------------------------------
1567 @anchor{svg_file}
1568 @defvr {Op@,{c}@~{a}o gr@'{a}fica} svg_file [svg_file, @var{nome_arquivo}]
1570 Grava o gr@'{a}fico em um arquivo SVG com nome igual a @var{nome_arquivo},
1571 ao inv@'{e}s de exib@'{i}-lo na tela.  Por padr@~{a}o, o arquivo ser@'{a}
1572 criado no diret@'{o}rio definido pela vari@'{a}vel
1573 @mrefcomma{maxima_tempdir} a menos que @var{nome_arquivo} contenha o caractere
1574 ``/'', nesse caso ser@'{a} assumido que na vari@'{a}vel cont@'{e}m o caminho completo onde
1575 o arquivo deve ser criado. O valor de @mref{maxima_tempdir} pode ser modificado
1576 de forma a que o arquivo seja gravado em um diret@'{o}rio diferente. Quando a op@,{c}@~{a}o
1577 @mref{gnuplot_svg_term_command} tamb@'{e}m for informada, ir@'{a} ser usada para ajustar
1578 o terminal SVG do Gnuplot; de outra forma, o terminal SVG do Gnuplot
1579 ser@'{a} usado com fonte de 14 pontos.
1581 @opencatbox
1582 @category{Plotting}
1583 @closecatbox
1584 @end defvr
1586 @c -----------------------------------------------------------------------------
1587 @anchor{t}
1588 @defvr {Op@,{c}@~{a}o gr@'{a}fica} t [t, @var{min}, @var{max}]
1590 Intervalo padr@~{a}o para gr@'{a}ficos param@'{e}tricos.
1592 @opencatbox
1593 @category{Plotting}
1594 @closecatbox
1595 @end defvr
1597 @c -----------------------------------------------------------------------------
1598 @anchor{title}
1599 @defvr {Op@,{c}@~{a}o gr@'{a}fica} title [title, @var{texto}]
1601 Define um t@'{i}tulo que ser@'{a} escrito no cabe@,{c}alho do gr@'{a}fico.
1603 @opencatbox
1604 @category{Plotting}
1605 @closecatbox
1606 @end defvr
1608 @c -----------------------------------------------------------------------------
1609 @anchor{transform_xy}
1610 @defvr {Op@,{c}@~{a}o gr@'{a}fica} transform_xy [transform_xy, @var{s@'{i}mbolo}]
1612 Onde @var{s@'{i}mbolo} @'{e} ou @code{false} ou o resultado obtido pelo
1613 uso da fun@,{c}@~{a}o @code{transform_xy}.  Se n@~{a}o for @code{false},
1614 ser@'{a} usado para transformar as 3 coordenadas na plot3d.
1616 Veja @mrefcomma{make_transform} @mref{polar_to_xy} e
1617 @mrefdot{spherical_to_xyz}
1619 @opencatbox
1620 @category{Plotting}
1621 @closecatbox
1622 @end defvr
1624 @c -----------------------------------------------------------------------------
1625 @anchor{x}
1626 @defvr {Op@,{c}@~{a}o gr@'{a}fica} x [x, @var{min}, @var{max}]
1628 Quando usada como a primeira op@,{c}@~{a}o em um comando @mref{plot2d} (ou usada em qualquer das
1629 primeiras duas op@,{c}@~{o}es em @mref{plot3d}), indica que a primeira vari@'{a}vel independente
1630 @'{e} x e ajusta seu intervalo.  Pode tamb@'{e}m ser usada novamente ap@'{o}s a primeira
1631 op@,{c}@~{a}o (ou ap@'{o}s a segunda op@,{c}@~{a}o em plot3d) para definir o dom@'{i}nio
1632 efetivo horizontal que ser@'{a} exibido no gr@'{a}fico.
1634 @opencatbox
1635 @category{Plotting}
1636 @closecatbox
1637 @end defvr
1639 @c -----------------------------------------------------------------------------
1640 @anchor{xlabel}
1641 @defvr {Op@,{c}@~{a}o gr@'{a}fica} xlabel [xlabel, @var{string}]
1643 Especifica a @var{string} que ir@'{a} rotular o primeiro eixo; se essa op@,{c}@~{a}o n@~{a}o
1644 for usada, o r@'{o}tulo ser@'{a} o nome da vari@'{a}vel independente, em gr@'{a}ficos de
1645 fun@,{c}@~{o}es com @mref{plot2d} ou @mrefcomma{implicit_plot} ou o nome da
1646 primeira vari@'{a}vel, em superf@'{i}cies com @mref{plot3d} ou contornos com
1647 @mrefcomma{contour_plot} ou a primeira express@~{a}o no caso de um gr@'{a}fico
1648 param@'{e}trico.  A op@,{c}@~{a}o gr@'{a}fica @code{xlabel} n@~{a}o pode ser usada com @mrefdot{set_plot_option}.
1650 @opencatbox
1651 @category{Plotting}
1652 @closecatbox
1653 @end defvr
1655 @c -----------------------------------------------------------------------------
1656 @anchor{xtics}
1657 @defvr {Op@,{c}@~{a}o gr@'{a}fica} xtics [xtics, @var{x1}, @var{x2}, @var{x3}]
1659 Define os valores nos quais uma marca e um n@'{u}mero ser@'{a} colocado no eixo
1660 x. O primeiro n@'{u}mero @'{e} o valor inicial, o segundo n@'{u}mero o incremento
1661 e o terceiro @'{e} o @'{u}ltimo valor onde uma marca @'{e} colocada. O segundo e
1662 o terceiro n@'{u}meros podem ser omitidos. Quando somente um n@'{u}mero for informado, esse ser@'{a}
1663 usado como o incremento de um valor inicial que ser@'{a} escolhido
1664 automaticamente.
1666 @opencatbox
1667 @category{Plotting}
1668 @closecatbox
1669 @end defvr
1671 @c -----------------------------------------------------------------------------
1672 @anchor{xy_scale}
1673 @defvr {Op@,{c}@~{a}o gr@'{a}fica} xy_scale [xy_scale, @var{sx}, @var{sy}]
1675 Em um gr@'{a}fico bidimensional, define a raz@~{a}o entre o tamanho total da janela e
1676 o tamanho que ser@'{a} usado para o gr@'{a}fico. Os dois n@'{u}meros informados como
1677 argumentos s@~{a}o o fator de proporcionalidade para os eixos x e y.
1679 @opencatbox
1680 @category{Plotting}
1681 @closecatbox
1682 @end defvr
1684 @c -----------------------------------------------------------------------------
1685 @anchor{y}
1686 @defvr {Op@,{c}@~{a}o gr@'{a}fica} y [y, @var{min}, @var{max}]
1688 Quando usado como uma dos primeiras duas op@,{c}@~{o}es em @mrefcomma{plot3d} indica
1689 que uma das var@'{a}veis independentes @'{e} y e ajusta seu intervalo.  De outra forma,
1690 define o dom@'{i}nio efetivo da segunda vari@'{a}vel que ser@'{a}
1691 exibida no gr@'{a}fico.
1693 @opencatbox
1694 @category{Plotting}
1695 @closecatbox
1696 @end defvr
1698 @c -----------------------------------------------------------------------------
1699 @anchor{ylabel}
1700 @defvr {Op@,{c}@~{a}o gr@'{a}fica} ylabel [ylabel, @var{caracteres}]
1702 Especifica os @var{caracteres} que rotular@~{a}o o segundo eixo; se essa
1703 op@,{c}@~{a}o n@~{a}o for usada, o r@'{o}tulo ser@'{a} ``y'', em gr@'{a}ficos de fun@,{c}@~{o}es feitos
1704 com @mref{plot2d} ou @mrefcomma{implicit_plot} ou o nome da segunda
1705 vari@'{a}vel, em gr@'{a}ficos de superf@'{i}cies com @mref{plot3d} ou contornos feitos com
1706 @mrefcomma{contour_plot} ou com a segunda express@~{a}o no caso de um gr@'{a}fico
1707 param@'{e}trico.  A Op@,{c}@~{a}o gr@'{a}fica @code{ylabel} n@~{a}o pode ser usada com @mrefdot{set_plot_option}
1709 @opencatbox
1710 @category{Plotting}
1711 @closecatbox
1712 @end defvr
1714 @c -----------------------------------------------------------------------------
1715 @anchor{ytics}
1716 @defvr {Op@,{c}@~{a}o gr@'{a}fica} ytics [ytics, @var{y1}, @var{y2}, @var{y3}]
1718 Define os valores nos quais um marca e um n@'{u}mero ser@'{a} colocado no eixo
1719 y. O primeiro n@'{u}mero @'{e} o valor inicial, o segundo o incremento
1720 o terceiro @'{e} o @'{u}ltimo valor onde uma marca @'{e} colocada. O segundo e
1721 terceiros n@'{u}meros podem ser omitidos. Quandoum n@'{u}mero for informado, ser@'{a}
1722 usado como o incremento a partir de um valor inicial que ser@'{a} escolhido
1723 automaticamente.
1725 @opencatbox
1726 @category{Plotting}
1727 @closecatbox
1728 @end defvr
1729 @c -----------------------------------------------------------------------------
1730 @anchor{yx_ratio}
1731 @defvr {Op@,{c}@~{a}o gr@'{a}fica} yx_ratio [yx_ratio, @var{r}]
1733 Em um gr@'{a}fico bidimensional, representa a raz@~{a}o entre os lados vertical e horizontal do
1734 do ret@^{a}ngulo usado para fazer um gr@'{a}fico. Veja tamb@'{e}m @mrefdot{same_xy}
1736 @opencatbox
1737 @category{Plotting}
1738 @closecatbox
1739 @end defvr
1741 @c -----------------------------------------------------------------------------
1742 @anchor{z}
1743 @defvr {Op@,{c}@~{a}o gr@'{a}fica} z [z, @var{min}, @var{max}]
1745 Usada em @mref{plot3d} para ajustar o intervalo efetivo de valores de z que ser@~{a}o
1746 exibidos no gr@'{a}fico.
1748 @opencatbox
1749 @category{Plotting}
1750 @closecatbox
1751 @end defvr
1753 @c -----------------------------------------------------------------------------
1754 @anchor{zlabel}
1755 @defvr {Op@,{c}@~{a}o gr@'{a}fica} zlabel [zlabel, @var{caracteres}]
1757 Especifica os @var{caracters} que rotular@~{a}o o terceiro eixo, durante o uso de
1758 @mrefdot{plot3d}  Se essa op@,{c}@~{a}o n@~{a}o for usada, o r@'{o}tulo do terceiro eixo ser@'{a} ``z'', em
1759 gr@'{a}ficos de superf@'{i}cies, ou a terceira express@~{a}o no caso de um gr@'{a}fico
1760 param@'{e}trico.  A op@,{c}@~{a}o gr@'{a}fica @code{zlabel} n@~{a}o pode ser usada com @mref{set_plot_option} e ser@'{a}
1761 ignorada por @mref{plot2d} e por @mrefdot{implicit_plot}
1763 @opencatbox
1764 @category{Plotting}
1765 @closecatbox
1766 @end defvr
1768 @c -----------------------------------------------------------------------------
1769 @anchor{zmin}
1770 @defvr {Op@,{c}@~{a}o gr@'{a}fica} zmin [zmin, @var{z}]
1772 Em gr@'{a}ficos tridimensionais, o valor de z que estar@'{a} na parte inferior do gr@'{a}fico.
1774 @opencatbox
1775 @category{Plotting}
1776 @closecatbox
1777 @end defvr
1779 @c -----------------------------------------------------------------------------
1780 @node Gnuplot Options, Gnuplot_pipes Format Functions, Plotting Options, Plotting
1781 @section Gnuplot Options
1782 @c -----------------------------------------------------------------------------
1784 Existem muitas op@,{c}@~{o}es gr@'{a}ficas espec@'{i}ficas para gnuplot.  Todas elas consistem
1785 em uma palavra chave (o nome da op@,{c}@~{a}o), seguida por uma sequ@^{e}ncia de caracteres que deve
1786 ser um comando v@'{a}lido para o gnuplot e/ou ser informado diretamente ao gnuplot.  Na maioria
1787 dos casos, exite uma op@,{c}@~{a}o gr@'{a}fica correspondente que produzir@'{a} um
1788 resultado similar e cujo uso @'{e} mais recomendado que a op@,{c}@~{a}o
1789 espec@'{i}fica do gnuplot.
1791 @c -----------------------------------------------------------------------------
1792 @anchor{gnuplot_term}
1793 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_term [gnuplot_term, @var{nome_terminal}]
1795 Ajusta o tipo de terminal de sa@'{i}da para o gnuplot. O argumento @var{nome_terminal}
1796 pode ser uma sequ@^{e}ncia de caracteres ou um dos seguintes s@'{i}mbolos especiais
1797 @itemize @bullet
1798 @item
1799 @strong{default} (valor padr@~{a}o)
1801 Sa@'{i}da gnuplot @'{e} mostrada em uma janela gr@'{a}fica separada e o
1802 terminal gnuplot usado ser@'{a} especificado pelo valor da op@,{c}@~{a}o
1803 @mrefdot{gnuplot_default_term_command}
1805 @item
1806 @strong{dumb}
1808 Sa@'{i}da gnuplot @'{e} gravada em um arquivo @code{maxout.gnuplot} fazendo uma aproxima@,{c}@~{a}o
1809 gr@'{a}fica usando a "arte ASCII". Se a op@,{c}@~{a}o @mref{gnuplot_out_file} for
1810 ajustada para @var{nomearquivo}, o gr@'{a}fico ser@'{a} salvo em @var{nomearquivo}, ao inv@'{e}s de ser salvo em
1811 @code{maxout.gnuplot} que @'{e} o padr@~{a}o. Os ajustes para o terminal ``dumb'' do
1812 Gnuplot s@~{a}o dados pelo valor da op@,{c}@~{a}o
1813 @mrefdot{gnuplot_dumb_term_command} Se a op@,{c}@~{a}o @mref{run_viewer} for ajustada
1814 para @code{true} e a @code{plot_format} for ajustada para @code{gnuplot} aquela representa@,{c}@~{a}o em "arte ASCII"
1815 ser@'{a} tamb@'{e}m exibida no Maxima ou no console Xmaxima.
1817 @item
1818 @strong{ps}
1820 Gnuplot gera comandos na linguagem de descri@,{c}@~{a}o de p@'{a}gina PostScript.
1821 Se a op@,{c}@~{a}o @mref{gnuplot_out_file} for ajustada para @var{nomearquivo}, gnuplot
1822 escreve os comandos PostScript em @var{nomearquivo}.  De outra forma, os comandos PostScript
1823 s@~{a}o gravados no arquivo @code{maxplot.ps}. Os ajustes para esse terminal s@~{a}o informados pelo valor da op@,{c}@~{a}o @mrefdot{gnuplot_dumb_term_command}
1825 @item
1826 Uma sequ@^{e}ncia de caracteres representando qualquer especifica@,{c}@~{a}o de terminal v@'{a}lida para o gnuplot
1828 Gnuplot pode gerar sa@'{i}das em muitos outros formatos gr@'{a}ficos tais como png,
1829 jpeg, svg etc. Para usar esses formatos, a op@,{c}@~{a}o @code{gnuplot_term} pode ser
1830 ajustada para qualquer nome de terminal suportado pelo gnuplot (por exemplo symbol) ou mesmo uma
1831 especifica@,{c}@~{a}o de terminal do gnuplot preenchida com quaisquer op@,{c}@~{o}es v@'{a}lidas (uma sequ@^{e}ncia de caracteres).  Por
1832 exemplo @code{[gnuplot_term, png]} cria uma sa@'{i}da no formato PNG (Portable
1833 Network Graphics) enquanto @code{[gnuplot_term, "png size
1834 1000,1000"]} cria um PNG com o tamanho de 1000 x 1000 pixels.  Se a op@,{c}@~{a}o
1835 @mref{gnuplot_out_file} for ajustada para @var{nomearquivo}, gnuplot grava a
1836 sa@'{i}da em @var{nomearquivo}.  De outra forma, o arquivo @'{e} gravado no
1837 arquivo @code{maxplot.@var{term}}, onde @var{term} @'{e} o nome de
1838 terminal do gnuplot.
1839 @end itemize
1841 @opencatbox
1842 @category{Plotting}
1843 @closecatbox
1844 @end defvr
1846 @c -----------------------------------------------------------------------------
1847 @anchor{gnuplot_out_file}
1848 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_out_file [gnuplot_out_file, @var{nome_arquivo}]
1850 Pode ser usada para substituir o nome padr@~{a}o do arquivo no qual encontram-se os
1851 comandos que ser@~{a}o interpretados pelo gnuplot, quando o terminal for ajustado
1852 para @code{default}, ou para substituir o nome padr@~{a}o do arquivo gr@'{a}fico
1853 que o gnuplot cria, quando o terminal for diferente de
1854 @code{default}. Se contiver uma ou mais barras, ``/'', o nome do
1855 arquivo ser@'{a} preservado; de outra forma, ser@'{a} anexado ao final do
1856 caminho do diret@'{o}rio tempor@'{a}rio. O nome completo dos arquivos criados
1857 por comandos de impress@~{a}o @'{e} sempre enviado como sa@'{i}da daqueles comandos de forma que
1858 eles podem ser vistos se o comando for terminado por ponto e v@'{i}rgula.
1860 Quando usado juntamente com a op@,{c}@~{a}o @mref{gnuplot_term}, pode ser
1861 usado para gravar o gr@'{a}fico em um arquivo, em um dos formatos gr@'{a}ficos suportados
1862 pelo Gnuplot. Para criar arquivos contendo gr@'{a}ficos matem@'{a}ticos nos formatos PNG, PDF, Postscript or SVG, @'{e} mais f@'{a}cil usar
1863 as op@,{c}@~{o}es @mrefcomma{png_file} @mrefcomma{pdf_file} @mrefcomma{ps_file}
1864 ou @mrefdot{svg_file}
1866 @opencatbox
1867 @category{Plotting}
1868 @closecatbox
1869 @end defvr
1871 @c -----------------------------------------------------------------------------
1872 @anchor{gnuplot_pm3d}
1873 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_pm3d [gnuplot_pm3d, @var{valor}]
1875 Com o valor @code{false}, pode ser usado para desabilitar o uso do modo
1876 PM3D, que @'{e} habilitado por padr@~{a}o.
1878 @opencatbox
1879 @category{Plotting}
1880 @closecatbox
1881 @end defvr
1883 @c -----------------------------------------------------------------------------
1884 @anchor{gnuplot_preamble}
1885 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_preamble [gnuplot_preamble, @var{caracteres}]
1887 Essa op@,{c}@~{a}o insere comandos do gnuplot antes de quaisquer outros comandos enviados ao
1888 Gnuplot. uaisquer comandos v@'{a}lidos de gnuplot podem ser usados. M@'{u}ltiplos comandos devem
1889 ser separados com ponto e v@'{i}rgula. Veja tamb@'{e}m @mrefdot{gnuplot_postamble}
1891 @opencatbox
1892 @category{Plotting}
1893 @closecatbox
1894 @end defvr
1896 @c -----------------------------------------------------------------------------
1897 @anchor{gnuplot_postamble}
1898 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_postamble [gnuplot_postamble, @var{caracteres}]
1900 Essa op@,{c}@~{a}o insere comandos de gnuplot ap@'{o}s outros comandos enviados ao
1901 Gnuplot e imediatamente antes de o comando ser enviado. Quaisquer comandos v@'{a}lidos
1902 de gnuplot podem ser usados. M@'{u}ltiplos comandos devem ser separados com
1903 ponto e v@'{i}rgula. Veja tamb@'{e}m @mrefdot{gnuplot_preamble}
1905 @opencatbox
1906 @category{Plotting}
1907 @closecatbox
1908 @end defvr
1910 @c -----------------------------------------------------------------------------
1911 @anchor{gnuplot_default_term_command}
1912 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_default_term_command
1913 [gnuplot_default_term_command, @var{comando}]
1915 O comando gnuplot para ajustar o tipo de terminal para o terminal
1916 padr@~{a}o. Se essa op@,{c}@~{a}o n@~{a}o for escolhida, o comando ser@'{a}: @code{"set term wxt size 640,480 font \",12\"; set term pop"}.
1918 @opencatbox
1919 @category{Plotting}
1920 @closecatbox
1921 @end defvr
1923 @c -----------------------------------------------------------------------------
1924 @anchor{gnuplot_dumb_term_command}
1925 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_dumb_term_command
1926 [gnuplot_dumb_term_command, @var{command}]
1928 O comando gnuplot para ajustar o tipo de trminal para o terminal @code{dumb}.  Se
1929 essa op@,{c}@~{a}o n@~{a}o for ajustada, o comando usado ser@'{a}: @code{"set term dumb
1930 79 22"}, que faz a sa@'{i}da de texto de 79 caracteres por 22 caracteres.
1932 @opencatbox
1933 @category{Plotting}
1934 @closecatbox
1935 @end defvr
1937 @c -----------------------------------------------------------------------------
1938 @anchor{gnuplot_pdf_term_command}
1939 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_pdf_term_command [gnuplot_pdf_term_command, @var{command}]
1941 O comando gnuplot para ajustar o tipo de terminal para o terminal
1942 PDF.  Se essa op@,{c}@~{a}o n@~{a}o for ajustada, o comando usado ser@'{a}: @code{"set term pdfcairo color solid lw 3 size 17.2 cm, 12.9 cm font \",18\""}. Veja a documenta@,{c}@~{a}o do gnuplot para mais informa@,{c}@~{a}o.
1944 @opencatbox
1945 @category{Plotting}
1946 @closecatbox
1947 @end defvr
1949 @c -----------------------------------------------------------------------------
1950 @anchor{gnuplot_png_term_command}
1951 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_png_term_command [gnuplot_png_term_command, @var{command}]
1953 O comando gnuplot para ajustar o tipo de terminal para o terminal PNG.  Se
1954 essa op@,{c}@~{a}o n@~{a}o for ajustada, o comando usado ser@'{a}:
1955 @code{"set term pngcairo font \",12\""}. Veja a documenta@,{c}@~{a}o do gnuplot
1956 para mais informa@,{c}@~{a}o.
1958 @opencatbox
1959 @category{Plotting}
1960 @closecatbox
1961 @end defvr
1963 @c -----------------------------------------------------------------------------
1964 @anchor{gnuplot_ps_term_command}
1965 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_ps_term_command [gnuplot_ps_term_command, @var{command}]
1967 O comando gnuplot para ajustar o tipo de terminal para o terminal
1968 PostScript.  Se essa op@,{c}@~{a}o n@~{a}o for ajustada, o comando usado ser@'{a}: @code{"set term postscript eps color solid lw 2 size 16.4 cm, 12.3 cm font \",24\""}. Veja a documenta@,{c}@~{a}o do gnuplot para @code{set term postscript} para
1969 mais informa@,{c}@~{a}o.
1971 @opencatbox
1972 @category{Plotting}
1973 @closecatbox
1974 @end defvr
1976 @c -----------------------------------------------------------------------------
1977 @anchor{gnuplot_svg_term_command}
1978 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_svg_term_command [gnuplot_svg_term_command, @var{command}]
1980 O comando gnuplot para ajustar o tipo de terminal para o terminal
1981 SVG.  Se essa op@,{c}@~{a}o n@~{a}o for ajustada, o comando usado ser@'{a}:
1982 @code{"set term svg font \",14\""}. Veja a documenta@,{c}@~{a}o do gnuplot para
1983 mais informa@,{c}@~{a}o.
1985 @opencatbox
1986 @category{Plotting}
1987 @closecatbox
1988 @end defvr
1990 @c -----------------------------------------------------------------------------
1991 @anchor{gnuplot_curve_titles}
1992 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_curve_titles
1994 Essa @'{e} uma op@,{c}@~{a}o obsoleta que foi substitu@'{i}da por @mref{legend} descrita
1995 acima.
1997 @opencatbox
1998 @category{Plotting}
1999 @closecatbox
2000 @end defvr
2002 @c -----------------------------------------------------------------------------
2003 @anchor{gnuplot_curve_styles}
2004 @defvr {Op@,{c}@~{a}o gr@'{a}fica} gnuplot_curve_styles
2006 Essa @'{e} uma op@,{c}@~{a}o obsoleta que foi substitu@'{i}da por @mrefdot{style}
2008 @opencatbox
2009 @category{Plotting}
2010 @closecatbox
2011 @end defvr
2013 @c -----------------------------------------------------------------------------
2014 @node Gnuplot_pipes Format Functions,  , Gnuplot Options, Plotting
2015 @section Gnuplot_pipes Format Functions
2016 @c -----------------------------------------------------------------------------
2018 @c -----------------------------------------------------------------------------
2019 @anchor{gnuplot_start}
2020 @deffn {Fun@,{c}@~{a}o} gnuplot_start ()
2022 Abre a liga@,{c}@~{a}o direta para o gnuplot usada para monar gr@'{a}ficos com o formato
2023 @code{gnuplot_pipes}.  N@~{a}o @'{e} necess@'{a}rio abrir manualmente a liga@,{c}@~{a}o direta antes de montar o gr@'{a}fico.
2025 @opencatbox
2026 @category{Plotting}
2027 @closecatbox
2028 @end deffn
2030 @c -----------------------------------------------------------------------------
2031 @anchor{gnuplot_close}
2032 @deffn {Fun@,{c}@~{a}o} gnuplot_close ()
2034 Fecha a liga@,{c}@~{a}o direta com o gnuplot que @'{e} usado com o formato @code{gnuplot_pipes}.
2036 @opencatbox
2037 @category{Plotting}
2038 @closecatbox
2039 @end deffn
2041 @c -----------------------------------------------------------------------------
2042 @anchor{gnuplot_restart}
2043 @deffn {Fun@,{c}@~{a}o} gnuplot_restart ()
2045 Fecha a liga@,{c}@~{a}o direta para o gnuplot que usada com o formato
2046 @code{gnuplot_pipes} e abre uma nova liga@,{c}@~{a}o direta.
2048 @opencatbox
2049 @category{Plotting}
2050 @closecatbox
2051 @end deffn
2053 @c -----------------------------------------------------------------------------
2054 @anchor{gnuplot_replot}
2055 @deffn  {Fun@,{c}@~{a}o} gnuplot_replot @
2056 @fname{gnuplot_replot} () @
2057 @fname{gnuplot_replot} (@var{s})
2059 Atualiza a janela do gnuplot.  Se @code{gnuplot_replot} for chamado com um
2060 comando gnuplot em uma sequ@^{e}ncia de caracteres @var{s}, ent@~{a}o @code{s} @'{e} enviada para o gnuplot
2061 antes de atualizar a janela.
2063 @opencatbox
2064 @category{Plotting}
2065 @closecatbox
2066 @end deffn
2068 @c -----------------------------------------------------------------------------
2069 @anchor{gnuplot_reset}
2070 @deffn {Fun@,{c}@~{a}o} gnuplot_reset ()
2072 Zera o estado do gnuplot usado com o formato @code{gnuplot_pipes}.  Para
2073 atualizar a janela do gnuplot chame @mref{gnuplot_replot} ap@'{o}s @code{gnuplot_reset}.
2075 @opencatbox
2076 @category{Plotting}
2077 @closecatbox
2078 @end deffn