1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /Plotting.texi/1.41/Fri Jun 8 17:19:03 2007/-ko/
4 @hyphenation{ca-rac-te-res}
7 * Funções e Variáveis Definidas para Montagem de Gráficos::
10 @node Funções e Variáveis Definidas para Montagem de Gráficos, , Montando Gráficos, Montando Gráficos
11 @section Funções e Variáveis Definidas para Montagem de Gráficos
13 @deffn {Função} contour_plot (@var{expr}, @var{x_range}, @var{y_range}, @var{opções}, ...)
15 Monta gráficos de contorno (curvas de nível) de @var{expr}
16 sobre a região @var{x_range} por @var{y_range}.
17 Quaisquer argumentos adicionals são tratados da mesma forma que em @code{plot3d}.
19 @code{contour_plot} somente trabalha quando o formato do gráfico for @code{gnuplot} ou @code{gnuplot_pipes}.
21 Veja também @code{implicit_plot}.
26 @c contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4]);
27 @c contour_plot (sin(y) * cos(x)^2, [x, -4, 4], [y, -4, 4]);
28 @c F(x, y) := x^3 + y^2;
29 @c contour_plot (F, [u, -4, 4], [v, -4, 4]);
30 @c contour_plot (F, [u, -4, 4], [v, -4, 4], [gnuplot_preamble, "set size ratio -1"]);
31 @c set_plot_option ([gnuplot_preamble, "set cntrparam levels 12"])$
32 @c contour_plot (F, [u, -4, 4], [v, -4, 4]);
35 (%i1) contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4]);
37 (%i2) contour_plot (sin(y) * cos(x)^2, [x, -4, 4], [y, -4, 4]);
39 (%i3) F(x, y) := x^3 + y^2;
41 (%o3) F(x, y) := x + y
42 (%i4) contour_plot (F, [u, -4, 4], [v, -4, 4]);
44 (%i5) contour_plot (F, [u, -4, 4], [v, -4, 4], [gnuplot_preamble, "set size ratio -1"]);
46 (%i6) set_plot_option ([gnuplot_preamble, "set cntrparam levels 12"])$
48 (%i7) contour_plot (F, [u, -4, 4], [v, -4, 4]);
53 @c INSPECTING src/plot.lisp AND TRYING SOME EXAMPLES,
54 @c IT APPEARS THAT in_netmath HAS NO EFFECT ON plot2d
55 @c AND ONLY EFFECT ON plot3d IS TO CAUSE OPENMATH OUTPUT TO BE WRITTEN TO CONSOLE
56 @c WHEN [plot_format, openmath] IS SET.
57 @c NOT CONVINCED WE REALLY WANT TO DOCUMENT THIS VARIABLE
58 @defvr {Variável} in_netmath
59 Valor padrão: @code{false}
61 Quando @code{in_netmath} é @code{true},
62 @code{plot3d} imprime uma saída OpenMath para o console se @code{plot_format} é @code{openmath};
63 caso contrário @code{in_netmath} (mesmo se @code{true}) não tem efeito.
64 @code{in_netmath} não tem efeito sobre @code{plot2d}.
68 @deffn {Função} plot2d (@var{expr}, @var{x_range}, ..., @var{opções}, ...)
69 @deffnx {Função} plot2d ([@var{expr_1}, ..., @var{expr_n}], ..., @var{opções}, ...)
70 @deffnx {Função} plot2d ([@var{expr_1}, ..., @var{expr_n}], @var{x_range},..., @var{opções}, ...)
72 onde @var{expr}, @var{expr_1}, ..., @var{expr_n} pode ser uma entre
73 expressões, ou funções do Lisp ou do Maxima ou operadores, ou uma lista com
74 qualquer das formas: @code{[discrete, [@var{x1}, ..., @var{xn}],
75 [@var{y1}, ..., @var{yn}]]}, @code{[discrete, [[@var{x1}, @var{y1}],
76 ..., [@var{xn}, ..., @var{yn}]]} ou @code{[parametric, @var{x_expr},
77 @var{y_expr}, @var{t_range}]}.
79 Mostra um gráfico de uma ou mais expressões como uma função de uma
82 @code{plot2d} monta o gráfico da expressão @var{expr} ou muitas expressões
83 @code{[@var{name_1}, ..., @var{name_n}]}. As expressões que não forem
84 paramétricas ou discretas podem todas depender somente de uma
85 variável @var{var} e isso torna obrigatório o uso de @var{x_range} para
86 nome daquela variável e fornece seus valores de máximo e de mínimo, usando a
87 sintaxe: @code{[@var{variable}, @var{min}, @var{max}]}. O gráfico irá
88 mostrar o eixo horizontal associado aos valores de @var{min} e de @var{max}.
90 Uma expressão a ser montado o gráfico pode também ser fornecida na forma discreta ou
91 na forma paramétrica. A saber, como uma lista iniciando-se com a palavra ``discrete''
92 ou a palavra ``parametric''. A palavra chave @var{discrete} deve ser seguida por duas
93 listas de valores, ambas com o mesmo comprimento, que são as coodenadas horizontais e
94 as coordenadas verticais de um conjunto de pontos; alternativamente, as coordenadas
95 de cada ponto pode ser colocada dentro de uma lista com dois valores, e todas as
96 coordenadas dos pontos podem estar dentro de outra lista. A palavra chave
97 @var{parametric} deve ser seguida por douas expressões @var{x_expr} e
98 @var{y_expr}, e um intervalo da forma @code{[@var{param}, @var{min},
99 @var{max}]}. As duas expressões devem depender somente do parâmetro
100 @var{param}, e o gráfico irá mostrar o caminho percorrido pelo ponto
101 com coordenadas (@var{x_expr}, @var{y_expr}) com @var{param} variando
102 de @var{min} a @var{max}.
104 O intervalo do eixo vertical não é obrigatório. É somente mais uma das
105 opções para o comando, com a sintaxe: @code{[y, @var{min},
106 @var{max}]}. Se aquela opção for usada, o gráfico irá mostrar aquele intervalo
107 completo, mesmo se a expressão não ocupe todo aquele intervalo. De outra forma,
108 se um intervalo vertical não for especificado através de @code{set_plot_option}, as
109 extremidade do eixo vertical serão encontrada automaticamente.
111 Todas as outras opções podem também serem listas, iniciando-se com o nome da
112 opção. A opção @var{xlabel} pode ser usada para fornecer um ótulo para o
113 eixo horizontal; se aquela opção não for usada, o eixo horizontal irá
114 ser rotulado com o nome da variável especificada em @var{x_range}, ou
115 com a expressão @var{x_expr} no caso de apenas uma expressão
116 paramétrica, ou isso irá ser deichado em branco de outra forma.
118 Um rótulo para o eixo vertical pode ser fornecido com a opção
119 @var{ylabel}. Se existir somente uma expressão a ser montado o gráfico e a
120 opção @var{ylabel} não tiver sido usada, o eixo vertical irá ser rotulado com
121 aquela expressão, a menos que ela seja muito larga, ou com a expressão
122 @var{y_expr} se a expressão for paramétrica, ou com o texto
123 ``discrete data'' se a expressão for discreta.
125 As opções @code{[logx]} e @code{[logy]} não precisam de quaisquer
126 parâmetros. Elas irão tornar os eixos horizontal e vertical sejam
127 escritos em escala logarítmica.
129 Se houverem muitas expressões para serem montados os gráficos respectivos, uma legenda irá ser
130 escrita para identificar cada uma das expressões. Os rótulos que podem ser
131 usados naquela legenda podem ser fornecidos com a opção @var{legend}. Se a opção @var{legend}
132 não for usada, Maxima irá criar rótulos a partir das expressões.
134 Por padrão, as expressões terão seus gráficos montados como um conjunto de segmentos de reta
135 saltando pontos adjacentes dentro de um conjunt de pontos que é um dos fornecidos entre
136 a forma @var{discrete}, ou calculado automaticamente a partir da expressão
137 fornecida, usando um algorítmo que automaticamente adapta os passos entre
138 os pontos usando como uma estimativa inicial do total número de pontos
139 o conjunto de valores com a opção @var{nticks}. A opção @var{style} pode ser
140 usada para fazer uma das expressões serem representadas como um conjunto de
141 pontos isolados, ou como pontos e segmentos de reta.
143 Existem muitas opções globais armazenadas na lsita @var{plot_options}
144 que pode ser modificada com a função @code{set_plot_option}; qualque
145 daquelas opções globais pode ser sobrescrita com opções fornecidas no
146 comando @var{plot2d}.
148 Uma função a ter seu gráfico montado pode ser especificada como o nome de uma função
149 do Maxima ou do Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão
150 geral do Maxima. Se especificado como um nome ou uma expressão lambda, a
151 função deve ser uma função de um argumento.
153 @c PUT EXAMPLES FOR PRECEDING SIMPLE FORMS OF plot2d HERE
156 Gráficos de funções comuns.
159 @c plot2d (sin(x), [x, -%pi, %pi])$
162 (%i1) plot2d (sin(x), [x, -%pi, %pi])$
166 @image{@value{figuresfolder}/plotting6,8cm}
170 @c plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
173 (%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
177 @image{@value{figuresfolder}/plotting7,8cm}
180 Montando gráfico de funções pelo nome.
184 @c :lisp (defun |$g| (x) (m* x x x))
185 @c H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
186 @c plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
191 (%i2) :lisp (defun |$g| (x) (m* x x x))
194 (%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
195 (%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
199 @image{@value{figuresfolder}/plotting10,8cm}
202 Podemos montar o gráfico de um círculo usando um gráfico paramétrico com um parâmetro
203 @var{t}. Não é necessário fornecer um intervalo para intervalo horizontal,
204 uma vez que o intervalo do parâmetro @var{t} determina o
205 domínio. Todavia, usaremos a opção
206 @var{same_xy} para obter a mesma escala em ambos os eixos:
209 @c plot2d([[parametric, cos(t), sin(t), [t,0,2*%pi]], -abs(x)],
210 @c [x, -sqrt(2), sqrt(2)], same_xy)$
214 (%i1) plot2d([[parametric, cos(t), sin(t), [t,0,2*%pi]], -abs(x)],
215 [x, -sqrt(2), sqrt(2)], same_xy)$
220 @image{@value{figuresfolder}/plotting12,8cm}
223 Exemplo de um gráfico logarítmico:
225 @c plot2d (exp(3*s), [s, -2, 2], logy)$
228 (%i1) plot2d (exp(3*s), [s, -2, 2], logy)$
232 @image{@value{figuresfolder}/plotting9,8cm}
235 Exemplo de gráfico discreto, definindo as coordenadas x e y por separado:
238 @c plot2d ([discrete, makelist(i*%pi, i, 1, 5),
239 @c [0.6, 0.9, 0.2, 1.3, 1]])$
242 (%i1) plot2d ([discrete, makelist(i*%pi, i, 1, 5),
243 [0.6, 0.9, 0.2, 1.3, 1]])$
247 @image{@value{figuresfolder}/plotting14,8cm}
250 O gráfico de pontos pode ser mostrado juntamente com um gráfico da
251 função teorética/doutrinária/estética que prevê as coordenads dos pontos:
254 @c xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
255 @c plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
256 @c [style, points, lines], [color, red, blue],
257 @c [point_type, asterisk],
258 @c [legend, "experiment", "theory"],
259 @c [xlabel, "pendulum's length (cm)"],
260 @c [ylabel, "period (s)"])$
263 (%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
265 (%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
266 [style, points, lines], [color, red, blue],
267 [point_type, asterisk],
268 [legend, "experiment", "theory"],
269 [xlabel, "pendulum's length (cm)"],
270 [ylabel, "period (s)"])$
275 @image{@value{figuresfolder}/plotting16,8cm}
278 Veja também @code{plot_options}, que descreve opções de montagem de gráfico e tem mais exemplos.
283 @defvr {Variável de sistema} plot_options
284 Elementos dessa lista estabelecem as opções padrão para a montagem do gráfico.
285 Se uma opção está presente em uma chamada a @code{plot2d} ou @code{plot3d},
286 esse valor tem precedência sobre a opção padrão.
287 De outra forma, o valor em @code{plot_options} é usado.
288 Opções padrão são atribuídas por @code{set_plot_option}.
290 Cada elemento de @code{plot_options} é uma lista de dois ou mais ítens.
291 O primeiro item é o nome de uma opção, e os restantes compreendem o valor ou valores
293 Em alguns casos, o valor atribuído é uma lista, que pode compreender muitos ítens.
295 As opções de montagem de gráfico que são reconhecidas por @code{plot2d} e @code{plot3d} são as seguintes:
299 Opção: @code{plot_format}
301 Determina qual interface gráfica é usada por @code{plot2d} e por
306 Valor: @code{gnuplot} padrão para windows
308 Gnuplot é o mais avançado pacote de montagem de gráficos entre os pacotes
309 disponíveis no Maxima. Esse valor requer uma instalação externa do gnuplot.
311 Valor: @code{gnuplot_pipes} padrão nas plantaformas não windows
313 Similar ao formato @code{gnuplot} exceto que a comunicação com o
314 gnuplot é realizada através de um pipe. Esse valor pode ser usado para montar um gráfico na tela,
315 para redirecionar a saída do gráfico para um arquivos é melhor usar o formato @code{gnuplot}.
317 Valor: @code{mgnuplot}
319 Mgnuplot é um ambiente montado em volta do gnuplot baseado no Tk. Esse ambiente está incluído na
320 distribuíção do Maxima. Mgnuplot oferece uma GUI rudimentar para o gnuplot,
321 mas tem menos recursos em geral que a interface plana do
322 gnuplot. Mgnuplot requer uma instalação externa do gnuplot e
325 Valor: @code{openmath}
327 Openmath é um programa gráfico escrito em Tcl/Tk. Este formato é fornecido pelo pacote
328 Xmaxima, que é distribuído junto com Maxima; com o objetivo de usar esse
329 formato você pode instalar o pacote Xmaxima, e o Openmath irá trabalhar não somente
330 a partir do Xmaxima em si mesmo, mas também a apartir da linha de comando e outras GUI's para
335 Opção: @code{run_viewer}
337 Controla se o visualizador apropriado para o formato da montagem do gráfico pode ou não
342 @c DOES FALSE IMPLY THE OUTPUT FILE IS GENERATED AND NOT SHOWN ?? OR IS NOTHING GENERATED ??
343 Valor padrão: @code{true}
345 Executa o programa visualizador.
349 Não executa o programa visualizador.
355 O intervalo vertical do gráfico.
362 Especifica intervalo vertical para [-3, 3].
365 Opção: @code{plot_realpart}
367 Quando @code{plot_realpart} for @code{true},
368 a parte real de um valor complexo @var{x} é mostrada;
369 isso é equivalente a mostrar @code{realpart(@var{x})} em lugar de @var{x}.
371 somente valores com a parte imaginária igual a 0 são mostrados na tela,
372 e valores complexos são ignorados.
377 plot2d (log(x), [x, -5, 5], [plot_realpart, false]);
378 plot2d (log(x), [x, -5, 5], [plot_realpart, true]);
380 O valor padrão é @code{false}.
385 Em plot2d, essa opção é fornece o número inicial de pontos usado pela
386 rotina adaptativa de montagem de gráficos para funções de montagem de gráfico. Ess número inicial de pontos é também
387 o número de pontos que isrá ser mostrado em um gráfico paramétrico.
394 O padrão para @code{nticks} é 10.
397 Opção: @code{adapt_depth}
399 O número maximo de quebras usada pela rotina adaptativa de montagem do gráfico.
406 O padrão para @code{adapt_depth} é 10.
411 O rótulo para o eixo horizontal em um gráfico bidimensional.
415 [xlabel, "Time in seconds"]
421 O rótulo do eixo vertical em gráficos bidimensionais.
425 [ylabel, "Temperatura"]
431 Essa opção faz com que o eixo horizontal de um gráfico bidimensional seja desenhado
432 em proporção logarítmica. Essa opção não precisa de quaisquer parâmetros adicionais.
437 Essa opção faz com que o eixo vertical de um gráfico bidimensional seja desenhado
438 em proporção logarítmica. Essa opção não precisa de quaisquer parâmetros adicionais.
443 Os rótulos para várias expressões em um gráfico bidimensional com muitas
444 expressões. Se houverem mais expressões que o número de rótulos
445 fornecidos, eles irão ser repetidos. Por padrão, os nomes das expressões
446 ou funçõe irão ser usados, ou as palavras discrete1, discrete2, ..., para
447 conjuntos discretos de pontos.
451 [legend, "Conj 1", "Conj 2", "Conj 3"]
457 Os estilos que irão ser usados para várias funções ou conjuntos de dados
458 em um gráfico bidimensional. A palavra @var{style} deve ser seguida por um ou mais
459 estilos. Se houverem mais funções e conjuntos de pontos que estilos
460 fornecidos, os estilos irão ser repetidos. Cada estilo pode ser um entre os seguintes
461 @var{lines} para segmentos de reta, @var{points} para pontos isolados,
462 @var{linespoints} para segmentos e pontos, ou @var{dots} para pequenos
463 pontos isolados. Gnuplot aceita também o estilo @var{impulses}.
465 Cada um dos estilos pode também ser fechado dentro de uma lista com alguns parâmetros
466 adicionais. @var{lines} aceita um ou dois números: a largura da
467 linha e um inteiro que identifica uma cor. @var{points} aceita um ou
468 dois parâmetros; o primeiro parâmetro é o raio dos pontos e
469 o segundo parâmetro é um inteiro que para o Gnuplot seleciona diferentes
470 ajustes e cores para os ponots e em Openmath modifica a cor
471 usada para os pontos. @var{linesdots} aceita até quatro parâmetros;
472 os primerios dois possuem o mesmo significado que em @var{lines} e os últimos dois possuem o mesmo
473 significado que em @var{points}.
477 [style,[lines,2,3],[points,1,4]]
480 No Gnuplot, esse exemplo irá montar o gráfico da primeira (e terceira, quinta, etc)
481 expressão com segmentos de retas azuis de largura 2, ea segunda (e
482 quarta, sexta, etc) expressão com quadrados verdes de tamanho 1. No
483 Openmath, a primeira expressão irá ser mostrada com segmentos da cor magenta de
484 largura 2, e o segundo com pontos alaranjados de raio 1; note que
485 openmath_color(3) openmath_color(4) retornam ``magenta'' e
486 ``orange'' (alaranjado).
488 O padrão para a opção de estilo é @var{lines} com largura 1, e
494 Escolhe o número de pontos da grade para usar nas direções x e y
495 para montagem de gráficos tridimensionais.
501 Escolhe a grade para 50 por 50 pontos. A grade padrão é 30 por 30.
504 Opção: @code{transform_xy}
506 Permite que transformações sejam aplicadas à montagem de gráficos tridimensionais.
510 [transform_xy, false]
512 O valor padrão de @code{transform_xy} é @code{false}. Se o valor padrão de @code{transform_xy} não é @code{false}, pode ser
516 make_transform ([x, y, z], f1(x, y, z), f2(x, y, z), f3(x, y, z))$
518 A transformação @code{polar_xy} é previamente definida no Maxima. Isso fornece a mesma
521 make_transform ([r, th, z], r*cos(th), r*sin(th), z)$
525 @b{Opções do Gnuplot:}
527 Existem muitas opções de montagem de gráfico específicas para gnuplot. Algumas dessas
528 opções são naturais do gnuplot, especificados como seq@"{u}ências de caracteres. Consulte a
529 documentação do gnuplot para mais detalhes.
533 Opção: @code{gnuplot_term}
535 Escolhe a saída para o tipo terminal para o gnuplot.
538 Valor padrão: @code{default}
540 A saída do Gnuplot é mostrada em uma janela gráfica separada.
545 A sída do Gnuplot é mostrada no console do Maxima por meio de uma "concepção artística em ASCII" aproximada para gráficos.
550 Gnuplot gera comandos na linguagem PostScript de descrição de página.
552 @code{gnuplot_out_file} for escolhida para @var{nomearquivo}, gnuplot escreve os comandos PostScript em @var{nomearquivo}.
553 De outra forma, Esse arquivo é salvo com o nome @code{maxplot.ps}.
556 Valor: qualquer outra especificação válida do terminal @code{term} do gnuplot
558 Gnuplot pode gerar saídas em muitos outros formatos gráficos tais
559 como png, jpeg, svg etc. Paa criar gráficos em todos esses formatos a opção
560 @code{gnuplot_term} pode ser escolhida para qualquer terminalsuportado pelo gnuplot (símbolo)
561 ou mesmo especificação completa de terminal do gnuplot com quaisquer opções (seq@"{u}ência de caracteres).
562 Por exemplo @code{[gnuplot_term,png]} cria saídas no formato PNG (Portable
563 +Network Graphics) enquanto @code{[gnuplot_term,"png size 1000,1000"]}
564 cria PNG de tamanho 1000x1000 pixels.
565 Se a opção @code{gnuplot_out_file} for escolhida para @var{nomearquivo}, gnuplot
566 escreve a saída para @var{nomearquivo}. De outra forma, esse arquivo é gravado com o nome de
567 @code{maxplot.@var{term}}, onde @var{term} é o nome do terminal do
572 Opção: @code{gnuplot_out_file}
574 Escreve a saída do gnuplot para um arquivo.
578 Valor padrão: @code{false}
580 Nenhum arquivo de saída especificado.
582 Valor: @var{nomearquivo}
584 Exemplo: @code{[gnuplot_out_file, "meugrafico.ps"]}
585 Esse exemplo envia a saída PostScript para o arquivo @code{meugrafico.ps} quando
586 usada conjuntamente com o terminal PostScript do gnuplot.
587 @c DOES OUTPUT FILE != FALSE IMPLY DON'T RUN THE VIEWER ??
588 @c WHAT HAPPENS IF OUTPUT FILE IS SPEFICIED BUT TERMINAL IS NOT PS ??
592 Opção: @code{gnuplot_pm3d}
594 Controla o uso do modo PM3D, que tem recursos
595 avançados em 3D. PM3D está somente disponível no gnuplot em versões após a 3.7. O
596 valor padrão para @code{gnuplot_pm3d} é @code{false}.
605 Opção: @code{gnuplot_preamble}
607 Insere comandos antes que o gráfico seja
608 desenhado. Quaisquer comandos válidos para o gnuplot podem ser usados. Multiplos comandos
609 podem ser separados com um ponto e vírgula. O exemplo mostrado produz uma
610 escala numérica na montagem do gráfico. O valor padrão para @code{gnuplot_preamble} é uma seq@"{u}ência de caracteres vazia @code{""}.
615 [gnuplot_preamble, "set log y"]
619 Opção: @code{gnuplot_curve_titles}
621 Controla os títulos dados na chave da montagem do gráfico. O
622 valor padrão é @code{[default]}, que automaticamente escolhe o título de cada
623 curva para a função cujo gráfico está sendo construído. Se não contiver @code{[default]}, @code{gnuplot_curve_titles}
624 pode conter uma lista de seq@"{u}ências de caracteres,
625 cada uma das quais é @code{"title '@var{title_string}'"}.
626 (Para disabilitar a chave de impressão de gráfico, adicione @code{"set nokey"} a @code{gnuplot_preamble}.)
631 [gnuplot_curve_titles,
632 ["title 'Minha primeira função'", "title 'Minha segunda função'"]]
636 Opção: @code{gnuplot_curve_styles}
638 Uma lista de seq@"{u}ências de caracteres controlando a aparência
639 das curvas, i.e., cor, largura, brilho, etc., para serem enviadas para o
640 comando de montagem do gráfico do gnuplot. O valor padrão é
641 @code{["with lines 3", "with lines 1", "with lines 2", "with lines 5", "with lines 4", "with lines 6", "with lines 7"]}, que circula através de diferentes cores. Veja a
642 documentação do gnuplot de @code{plot} para maiores informações.
647 [gnuplot_curve_styles, ["with lines 7", "with lines 2"]]
651 Opção: @code{gnuplot_default_term_command}
653 O comando gnuplot para escolher o
654 tipo de terminal para o terminal padrão. O valor padrão é @code{set
655 term windows "Verdana" 15} em sistemas windows, e @code{set term x11
656 font "Helvetica,16"} em sistemas de janelas do X11.
661 [gnuplot_default_term_command, "set term x11"]
665 Opção: @code{gnuplot_dumb_term_command}
667 O comando gnuplot para escolher o
668 tipo de terminal para o terminal dumb. O valor padrão é @code{"set term dumb 79 22"},
669 que faz a saída texto com 79 caracteres por 22
675 [gnuplot_dumb_term_command, "set term dumb 132 50"]
679 Opção: @code{gnuplot_ps_term_command}
681 O comando gnuplot para escolher o tipo
682 de terminal para o terminal PostScript. O valor padrão é
683 @code{"set size 1.5, 1.5;set term postscript eps enhanced color solid 24"},
685 tamanho para 1.5 vezes o padrão do gnuplot, e o tamanho da fonte para 24, além de
686 outras coisas. Veja a documentação do gnuplot de @code{set term postscript} para mais informação.
690 Todos os números nos exemplos para a função @var{plot2d} nesse
691 manual foram obtidos de arquivos Postscript que foram gerados após
692 escolher @code{gnuplot_ps_term_command} como:
695 [gnuplot_ps_term_command,
696 "set size 1.3, 1.3; set term postscript eps color solid lw 2.5 30"]
703 @deffn {Função} plot3d ([@var{expr_1}, @var{expr_2}, @var{expr_3}], @var{x_range}, @var{y_range}, ..., @var{opções}, ...)
704 @deffnx {Função} plot3d (@var{expr}, @var{x_range}, @var{y_range}, ..., @var{opções}, ...)
705 @deffnx {Função} plot3d (@var{name}, @var{x_range}, @var{y_range}, ..., @var{opções}, ...)
706 @deffnx {Função} plot3d ([@var{expr_1}, @var{expr_2}, @var{expr_3}], @var{x_rge}, @var{y_rge})
707 @deffnx {Função} plot3d ([@var{nome_1}, @var{nome_2}, @var{nome_3}], @var{x_range}, @var{y_range}, ..., @var{opções}, ...)
709 Mostra um gráfico de uma ou três expressões como funções de duas variáveis.
712 @c plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
713 @c [mesh_lines_color,false])$
717 (%i1) plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
718 [mesh_lines_color,false])$
723 @image{@value{figuresfolder}/plotting17,8cm}
726 monta o gráfico de @code{u^2-v^2} com @code{u} e @code{v} variando no intervalo fechado [-2,2] e
727 no intervalo fechado de [-3,3] respectivamente, e com @var{u} sobre o eixo x, e @code{v} sobre o eixo
730 Outro exemplo é uma superfície de Klein:
733 @c expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
734 @c expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
735 @c expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
736 @c plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
737 @c [y, -%pi, %pi], [grid, 50, 50])$
740 (%i1) expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
741 (%i2) expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
742 (%i3) expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
744 (%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
745 [y, -%pi, %pi], [grid, 50, 50])$
750 @image{@value{figuresfolder}/plotting21,8cm}
753 Algumas vezes isso é necessário para definir uma função para montar o graico da expressão. Todos
754 os argumentos para plot3d são avaliados antes de serem passados para plot3d. Tentar
755 fazer um expressão que faz apenas o que é preciso pode ser
756 difícil e pode ser mais fácil fazer uma função.
759 @c M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
760 @c f(x, y) := float('M [round(x), round(y)])$
761 @c plot3d (f(x,y), [x,1,4],[y,1,4],[grid,3,3],[legend,false])$
764 (%i1) M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
765 (%i2) f(x, y) := float('M [round(x), round(y)])$
767 (%i3) plot3d (f(x,y), [x,1,4],[y,1,4],[grid,3,3],[legend,false])$
772 @image{@value{figuresfolder}/plotting25,8cm}
775 Veja @code{plot_options} para mais exemplos.
779 @deffn {Função} make_transform (@var{vars}, @var{fx}, @var{fy}, @var{fz})
780 Retorna uma função adequada para a função transformação em plot3d. Use
781 com a opção de montagem de gráfico @code{transform_xy}.
783 make_transform ([r, th, z], r*cos(th), r*sin(th), z)$
785 é uma transformação para coordenadas polares.
788 @deffn {Função} set_plot_option (@var{opção})
789 Atribui uma das varáveis globais para impressão.
790 @var{opção} é especificada como uma lista de dois ou mais elementos,
791 na qual o primeiro elemento é uma das palavras chave
792 dentro da lista @code{plot_options}.
794 @code{set_plot_option} avalia seu argumento e
795 retorna a liasta completa @code{plot_options}
796 (após modificar um de seus elementos).
798 Veja também @code{plot_options}, @code{plot2d}, e @code{plot3d}.
802 Modifica a malha (@code{grid}) e valores de @code{x}.
803 Quando uma palavra chave em @code{plot_options} tem um valor atribuído,
804 colocar um apóstrofo evita avaliação.
807 @c set_plot_option ([grid, 30, 40]);
809 @c set_plot_option (['x, -100, 100]);
813 (%i1) set_plot_option ([grid, 30, 40]);
814 (%o1) [[x, - 1.755559702014E+305, 1.755559702014E+305],
815 [y, - 1.755559702014E+305, 1.755559702014E+305], [t, - 3, 3],
816 [grid, 30, 40], [transform_xy, false], [run_viewer, true],
817 [plot_format, gnuplot], [gnuplot_term, default],
818 [gnuplot_out_file, false], [nticks, 10], [adapt_depth, 10],
819 [gnuplot_pm3d, false], [gnuplot_preamble, ],
820 [gnuplot_curve_titles, [default]],
821 [gnuplot_curve_styles, [with lines 3, with lines 1,
822 with lines 2, with lines 5, with lines 4, with lines 6,
823 with lines 7]], [gnuplot_default_term_command, ],
824 [gnuplot_dumb_term_command, set term dumb 79 22],
825 [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript #
826 eps enhanced color solid 24]]
829 (%i3) set_plot_option (['x, -100, 100]);
830 (%o3) [[x, - 100.0, 100.0], [y, - 1.755559702014E+305,
831 1.755559702014E+305], [t, - 3, 3], [grid, 30, 40],
832 [transform_xy, false], [run_viewer, true],
833 [plot_format, gnuplot], [gnuplot_term, default],
834 [gnuplot_out_file, false], [nticks, 10], [adapt_depth, 10],
835 [gnuplot_pm3d, false], [gnuplot_preamble, ],
836 [gnuplot_curve_titles, [default]],
837 [gnuplot_curve_styles, [with lines 3, with lines 1,
838 with lines 2, with lines 5, with lines 4, with lines 6,
839 with lines 7]], [gnuplot_default_term_command, ],
840 [gnuplot_dumb_term_command, set term dumb 79 22],
841 [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript #
842 eps enhanced color solid 24]]
847 @subsection Funções para trabalhar com o formato @code{gnuplot_pipes}
849 @deffn {Função} gnuplot_start ()
851 Abre o pipe para o gnuplot usado para montar um gráfico com o formato
852 @code{gnuplot_pipes}. Não é necessário abrir manualmente o
853 pipe antes de montar o gráfico.
857 @deffn {Função} gnuplot_close ()
859 Fecha o pipe para o gnuplot que está sendo usado com o formato
860 @code{gnuplot_pipes}.
864 @deffn {Função} gnuplot_restart ()
866 Fecha o pipe para o gnuplot que é usado com o formato
867 @code{gnuplot_pipes} e abre um novo pipe.
871 @deffn {Função} gnuplot_replot ()
872 @deffnx {Função} gnuplot_replot (@var{s})
874 Atualiza a janela gráfica do gnuplot. Se @code{gnuplot_replot} for chamado com um
875 comando gnuplot em uma seq@"{u}ência de caracteres @var{s}, então @code{s} é enviado para o gnuplot
876 antes de atualizar a janela.
880 @deffn {Função} gnuplot_reset ()
882 Restaura o estado inicial padrão do gnuplot usado com o formato
883 @code{gnuplot_pipes}. Para atualizar a janela do gnuplot chama @code{gnuplot_replot} após
884 @code{gnuplot_reset}.