Criação e Edição de Gráficos no R

download Criação e Edição de Gráficos no R

of 25

Transcript of Criação e Edição de Gráficos no R

  • 7/30/2019 Criao e Edio de Grficos no R

    1/25

    Material elaborado por: Ana Maria de Souza

    Criao e Edio de Grficos no R

    Fazendo Grficos no R

    Aqui voc ir aprender como fazer grficos para publicao. Nesta aula, iremos passarapenas pelos grficos mais simples como grficos de disperso, de barras e box-plot,pois estes sero os grficos usados pela grande maioria dos alunos durante o curso de ps-graduao. Porm, lembre-se que no R possvel construir uma variedade incrvel degrficos e figuras. Para mais exemplos basta entrar no R Graph Gallery e ver todas aspossibilidades.

    Custo Benefcio de Fazer Grficos no R

    Nesta apostila voc aprender a editar os grficos e adequ-los para dissertaes, teses ourevistas cientficas. Editar grficos no R no fcil, demora tempo (pode demorar horas

    para fazer apenas uma figura) e muitas vezes frustrante, pois cada passo requer uma sriede ajustes. Porm, o R permite mudar quase todos os parmetros dentro de um grfico, umaliberdade que (quase) nenhum outro pacote estatstico possui. E lembre-se, bons grficosdizem mais que apenas o conjunto de dados a ser apresentado. Bons grficos mostramvrios resultados em um pequeno espao de papel, so facilmente interpretveis e podemaumentar suas chances de ter trabalhos aceitos em boas revistas cientficas. Por isso, muito importante investir bastante tempo em fazer figuras bonitas e bem explicativas.

    Criando Grficos

    Fazer grficos rapidamente no R fcil. Basta dizer qual tipo de grfico se deseja e quaisso as variveis.

    H duas maneiras de se especificar as variveis

    Cartesianaplot(x,y)

    Formulaplot(y~x)

    Ambas as formas so corretas, mas como a grande maioria das anlises feitas so noformato y~x, em vez de x,y, acaba ficando mais fcil usar y~x.

    riqueza

  • 7/30/2019 Criao e Edio de Grficos no R

    2/25

    Material elaborado por: Ana Maria de Souza

    As figuras padro (default) que o R produz no so publicveis, mas trazem toda ainformao que foi usada para gerar o grfico e podem perfeitamente ser usadas para umainterpretao inicial dos resultados. O plot ou scatterplot um grfico de disperso, sendoque cada ponto no plot representa uma das rplicas (e.g. 12 rplicas, 12 pontos). Na suaforma mais simples, as legendas dos eixos vm com o nome das variveis usadas para criaro plot.

  • 7/30/2019 Criao e Edio de Grficos no R

    3/25

    Material elaborado por: Ana Maria de Souza

    Quando as variveis so categricas, o grfico padro que o R produz o boxplot ou box

    and whiskers plot (chamado em portugus de desenho esquemtico, desenho da caixa, oudesenho de caixa e bigode). No boxplot, a linha grossa do meio representa a mediana, acaixa representa o 1 e 3quartil, e os bigodes podem representar ou os valores mximose mnimos, ou 1.5 vezes o valor dos quartis (aproximadamente 2 desvios padres);

    desenhado o que for menor. s vezes, alguns pontos so desenhados individualmente almdos bigodes, estes so os outliers, que podem ser suprimidos com o argumentooutline=F.

    O barplot, ou grfico de barras, mostra cada ponto da varivel especificada como umabarra. Na sua forma mais simples, so apresentados apenas os valores brutos e no hinformao alguma quanto disperso dos dados. No barplot nenhum dos eixos vem comlegendas (alis, o eixo x tambm no desenhado).

    Exerccio 1Fazendo os Primeiros Grficos

    Construa plot, boxplot e barplot usando as variveis do conjunto de dados Conjunto deDados: Dados de Biomassa de rvores de Eucalyptus Saligna, para explorar relaes entre:

    dap e ht

    ht e tronco

    dap e classe

    dap e talhao

    dap

    ht

    Note: barplot s aceita uma varivel

    Editando Grficos

    Aqui comea a parte mais complicada. No porque difcil mudar a forma como osgrficos so feitos, mas porque para chegar num resultado final adequado requer umprocesso iterativo. Em outras palavras, se o objetivo mudar o tamanho da fonte, sernecessrio testar vrios tamanhos at se atingir o tamanho ideal para incluir nomanuscrito e/ou tese.

    Existem duas maneiras de se mudar parmetros no grfico; uma por dentro do grfico, ouseja, dentro da funo plot, boxplot, ou barplot, e a outra pela funo par(). Algunsargumentos s podem ser chamados exclusivamente por uma destas maneiras. Por

    exemplo ylab e xlab modificam o nome (label) dos eixos e s podem ser chamadas pordentro do grfico, j outras funes s podem ser chamadas pelo par(), como porexemplo, mar que controla o tamanho das margens do grfico e mfrow que controla quantosgrficos sero mostrados no mesmo dispositivo.

    Para que as alteraes controladas pelo par() possam surtir efeito, elas sempre devem virantes do grfico. Se um novo dispositivo grfico no for aberto, todas as funes jcontroladas pelo par() continuaro valendo, mesmo que o grfico mude.

  • 7/30/2019 Criao e Edio de Grficos no R

    4/25

    Material elaborado por: Ana Maria de Souza

    Em geral, a informao que vem por ltimo a informao que o R vai tomar comoverdadeira. Por exemplo, las controla a direo das legendas dos eixos (las= 1, legendasescritas sempre na horizontal, las=3, legendas sempre na vertical), sejam os nmeros daescala ou o nome do eixo. Se o seguinte comando dado:

    par(las=1)

    plot(riqueza~area, las=3)

    O resultado final ser um grfico com legendas na vertical. Isso a princpio pode parecersem sentido, porm imagine um caso em que h vrios grficos no mesmo dispositivogrfico e em todos os casos se deseja ter legendas horizontais, com exceo de um grficoapenas em que um dos eixos ser desenhado verticalmente. So em casos que nem este quese torna necessrio poder dar informaes conflitantes para o R.

    Outro caso que importante saber a funo cex. Em sua forma geral, ela se aplica aotamanho de fonte das legendas, ttulo, pontos, entre outros. Se o seguinte comando dado:

    par(cex=2)

    plot(riqueza~area, cex=2)

  • 7/30/2019 Criao e Edio de Grficos no R

    5/25

    Material elaborado por: Ana Maria de Souza

    O resultado final ter legendas com tamanho 2 (default=1) e pontos com tamanho 4. Istoocorre pois par(cex=2) tem a funo geral de aumentar todas as fontes e pontos, enquantoque no plot(cex=2) tem a funo de aumentar s o pontos. E quando neste caso

    especfico, em vez das informaes entrarem em conflito, como no caso anterior, elas semultiplicam.

    Exerccio 2Aprendendo a Editar Grficos

    Entre no R e digite:

    ?plot

    Agora, usando as variveis:

    riqueza

  • 7/30/2019 Criao e Edio de Grficos no R

    6/25

    Material elaborado por: Ana Maria de Souza

    O ttulo do grfico para Aves das Ilhas Samoa

    Agora entre no:

    ?par

    Usando o mesmo grfico anterior, mude:

    O tipo de ponto (numero de 0 a 25)

    O tamanho dos pontos e legendas

    A direo da escala do grfico (para ficar tudo na horizontal)

    O tipo de fonte das legendas (para ficar tudo como em Times New Romandica= serif)

    Apesar das pginas de ajuda do R no serem muito amigveis no comeo, preciso tercalma e aprender a procurar a informao desejada. A pgina do par() uma das maisprocuradas por todos que esto fazendo grficos no R, e por isso importante que se gasteum tempo para aprender qual tipo de informao ela fornece, onde est a informao, ecomo mudar os parmetros do R.

    par()

    DICA

    No comeo, quando ainda no se conhece direito todas as funes do par() aconselhvel

    que se imprima a pgina de ajuda para que se possa visualizar todas os argumentos.

    Existem dois argumentos do par()muito importantes e que so usadas quase 100% dasvezes. Um, par(mfrow=c()) controla quantas figuras sero desenhadas dentro de ummesmo dispositivo. O vetor contido dentro da funo mfrow=() controla o numero degrficos que sero desenhados no eixo x (1 nmero) e no eixo y (2 nmero).

    O outro, o par(mar=c())controla o tamanho das margens do grfico e como a figuraficar disposta dentro do dispositivo. O vetor contido dentro da funo mar=(), controla asposies das margens, sendo que o 1 numero controla a margem da parte de baixo dogrfico, o 2 controla a margem do lado esquerdo, o 3 numero controla a parte de cima e o

    4 numero controla o tamanho da margem do lado direito do grfico.

    Dica: as figuras abaixo foram preenchidas de cinza para facilitar a visualizao com oparmetropar(bg=gray93)

    Exemplos de par(mfrow=c())

    par(mfrow=c(2,1))

  • 7/30/2019 Criao e Edio de Grficos no R

    7/25

    Material elaborado por: Ana Maria de Souza

    plot(riqueza~area)

    boxplot(riqueza~area.cate)

    par(mfrow=c(1,2))

    plot(riqueza~area)

    boxplot(riqueza~area.cate)

  • 7/30/2019 Criao e Edio de Grficos no R

    8/25

    Material elaborado por: Ana Maria de Souza

    Exemplos de par(mar=c())

    par(mfrow=c(2,1))

    par(mar=c(4,14,2,6))

    plot(riqueza~area)

    boxplot(riqueza~area.cate)

  • 7/30/2019 Criao e Edio de Grficos no R

    9/25

    Material elaborado por: Ana Maria de Souza

    par(mfrow=c(1,2))

    par(mar=c(14,4,8,2))

    plot(riqueza~area)

    boxplot(riqueza~area.cate)

  • 7/30/2019 Criao e Edio de Grficos no R

    10/25

    Material elaborado por: Ana Maria de Souza

    par(mfrow=c(1,2))

    par(mar=c(8,4,8,1))

    plot(riqueza~area)

    par(mar=c(14,2,4,0.5))

    boxplot(riqueza~area.cate)

  • 7/30/2019 Criao e Edio de Grficos no R

    11/25

    Material elaborado por: Ana Maria de Souza

    Diferenas Entre Tipos De Grfico

    Infelizmente, a forma como se muda argumentos do plot(), boxplot() e barplot() no sempre a mesma, ou seja, comandos que funcionam perfeitamente para o plot() podemno produzir efeito algum no boxplot(), e vice-versa. Esta caracterstica, de fato, atrapalhaum pouco, mas assim que se acostuma fica mais fcil. H duas dicas para resolver esteproblema: (i) tente sempre jogar os argumentos para o par() pois s vezes eles podem nofuncionar se chamadas por dentro do plot(), boxplot(), etc, mas iro funcionar pelopar(); (ii) descubra o nome em ingls do parmetro que se quer mudar (label, tick,legend) e jogue no Google legend boxplot. Com certeza, algum j teve este mesmo

    problema, e entrando dentro da lista do R (as diversas que existem) ou em aulasdisponibilizadas na internet, com certeza se acha uma soluo.

    Exerccio 3Mudando diferentes Grficos

    Com as variveis:

    riqueza

  • 7/30/2019 Criao e Edio de Grficos no R

    12/25

    Material elaborado por: Ana Maria de Souza

    Crie:

    plot(riqueza~area)

    E agora:

    plot(riqueza~area, bty="l", tcl=0.3)

    Perecebeu o que mudou?

    Agora tente:

    boxplot(riqueza~area.cate, bty=l, tcl=0.3)

    O que aconteceu?

    E agora?

    par(bty=l)

    par(tcl=0.3)

    boxplot(riqueza~area.cate)

    Viu s?

    Inserindo mais Informaes em Grficos

    Existem diversas informaes que se pode incluir em um grfico. Pode-se colocar uma letrapara mostrar que este o painel a e ao lado o painel b; pode-se colocar asteriscos para

    mostrar quais relaes so significativas; pode-se desenhar flechas, outros pontos, umainfinidade de coisas. Tudo isto pode ser feito, mas requer funes comandos separadosdaqueles j passados pelo par() e plot(), boxplot() ou barplot(). Dentre as vrias funesexistentes para se inserir informaes em grficos, existem sete que so bastante teis. Use:

    Exerccio 4

    Usando as variveis:

    riqueza

  • 7/30/2019 Criao e Edio de Grficos no R

    13/25

    Material elaborado por: Ana Maria de Souza

    lines(lowess(area, riqueza))

    abline()

    Para inserir linhas de tendncia criadas a partir de um modelo linear. Para isso primeironecessrio criar o modelo, para depois criar a linha.

    model

  • 7/30/2019 Criao e Edio de Grficos no R

    14/25

    Material elaborado por: Ana Maria de Souza

    Com a funo abline voc pode tambm inserir uma linha reta com intercepto e inclinaodefinidos por voc, com os dois primeiros argumentos:

    plot(riqueza~area)

    abline(15,0.4)

  • 7/30/2019 Criao e Edio de Grficos no R

    15/25

    Material elaborado por: Ana Maria de Souza

    A funo abline tambm serve para acrescentar linhas verticais e horizontais, com osargumentos v e h. No cdigo abaixo traamos estas linhas passando pelas mdias das duas

    variveis do diagrama de disperso:plot(riqueza~area)

    abline(v=mean(area))

    abline(h=mean(riqueza))

  • 7/30/2019 Criao e Edio de Grficos no R

    16/25

    Material elaborado por: Ana Maria de Souza

    Voc sabia? A reta da regresso linear simples sempre passa pelo ponto que a interseodestas duas linhas.

    text()

    Para inserir texto dentro do grfico. O texto pode ser uma letra, um smbolo (muito usadopara mostrar diferenciar classes no grfico), uma palavra ou at mesmo uma frase.

    plot(riqueza~area)

    text(20,40,"texto")

  • 7/30/2019 Criao e Edio de Grficos no R

    17/25

    Material elaborado por: Ana Maria de Souza

    mtext()

    Este comando acrescenta texto nas margens do grfico ou da janela grfica. Seu uso maisfrequente inserir legendas dos eixos. Apesar de ser possvel controlar as legendas pordentro das funes plot, boxplot e barplot, o numero de parmetros que se pode mudar limitado. Quando se deseja um controle mais fino dos parmetros, como posio,alinhamento, cor, tamanho da fonte, etc, necessrio usar mtext().

    plot(riqueza~area)

    mtext("legenda no lado errado", side=4, line=0.9, at=20,cex=2,

    family="serif")

  • 7/30/2019 Criao e Edio de Grficos no R

    18/25

    Material elaborado por: Ana Maria de Souza

    par(new=TRUE)

    Para sobrepor um novo grfico a um grfico j existente. Em vez de criar grficos lado-a-lado, como em par(mfrow=c()), este argumento ir desenhar o novo grfico sobre ogrfico anterior.

    plot(riqueza~area)

    par(new=TRUE)

    plot(abundancia~area)

  • 7/30/2019 Criao e Edio de Grficos no R

    19/25

    Material elaborado por: Ana Maria de Souza

    Mas reparem que aqui ser necessrio alguns ajustes para suprimir eixos e legendas. Emmuitos casos quando se est inserindo informaes ser necessrio suprimir parmetros.

    axis()

    Para se inserir um eixo novo. Esta funo bastante usada nos casos em que se deseja terdois grfico dentro de uma mesma figura (ver par(new=TRUE)), ou ento se desejacontrolar muitos dos parmetros dos eixos (como em mtext()).

    plot(riqueza~area)

    par(new=TRUE)

    plot(abundancia~area, axes=FALSE, ann=FALSE, pch=16)

    axis(4)

  • 7/30/2019 Criao e Edio de Grficos no R

    20/25

    Material elaborado por: Ana Maria de Souza

    Aqui no caso ser necessrio usar axes=F para suprimir a criao dos eixos do grficoinicial de abundncia e ann=F para suprimir a legenda de abundncia do lado direito. Para

    para diferenciar os pontos entre os dois plots usar pch=16, ou qualquer outro nmero. Parainserir a legenda de abundncia do lado direito ser necessrio usar mtext(), mas da sernecessrio mudar outros parmetros como distncia da margem.

    arrows(), rect(), polygon()

    Para inserir flechas ou barras de erros use arrows(). J para inserir retngulos, polgonose outros formatos use rect() e polygon().

    plot(riqueza~area)

    rect(20,20,40,40)

  • 7/30/2019 Criao e Edio de Grficos no R

    21/25

    Material elaborado por: Ana Maria de Souza

    Salvando Grficos

    Aps ter feitos todos os grficos desejados, possvel salv-los em vrios formatos, comojpeg, png, postscript, pdf. Consulte a ajuda do pacote grDevices para a lista completa emais informaes.

    Aps chegar ao grfico final, ajustando todos os parmetros desejados, voc pode usar afuno do R para criar o arquivo no formato desejado. H funes para cada formato dearquivo, todas elas com o primeiro argumento filename, que especifica o nome do arquivoa salvar. Para criar um arquivojpg, por exemplo, h a funo jpeg:

    jpeg(filename = "Algumnome.jpg")

    Feito isso, o R agora ir enviar todos os resultados de comandos grficos para este arquivo,que fechado com a funo dev.off().

    Exemplo

    jpeg(filename = "Rplotaula.jpg", width = 480, height = 480,

    units = "px", pointsize = 12, quality = 100,

    bg = "white", res = NA, restoreConsole = TRUE)

    http://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/Portable_Network_Graphicshttp://en.wikipedia.org/wiki/Portable_Network_Graphicshttp://en.wikipedia.org/wiki/PostScripthttp://en.wikipedia.org/wiki/PostScripthttp://en.wikipedia.org/wiki/Portable_Document_Formathttp://en.wikipedia.org/wiki/Portable_Document_Formathttp://finzi.psych.upenn.edu/R/library/grDevices/html/00Index.htmlhttp://finzi.psych.upenn.edu/R/library/grDevices/html/00Index.htmlhttp://finzi.psych.upenn.edu/R/library/grDevices/html/00Index.htmlhttp://en.wikipedia.org/wiki/Portable_Document_Formathttp://en.wikipedia.org/wiki/PostScripthttp://en.wikipedia.org/wiki/Portable_Network_Graphicshttp://en.wikipedia.org/wiki/JPEG
  • 7/30/2019 Criao e Edio de Grficos no R

    22/25

    Material elaborado por: Ana Maria de Souza

    par(mfrow=c(1,2))

    par(mar=c(14,4,8,2))

    plot(riqueza~area)

    boxplot(riqueza~area.cate)

    dev.off()

    Quatro Fatos Importantes sobre Arquivos de Figuras (e uma dica)

    Seu arquivo de figura s ter os parmetros desejados se voc executar todo ocdigo aps abrir o arquivo da figura, incluindo todos os comandos par().Seu arquivo de figura s ser salvo quando voc executar o comando dev.off().At que isso acontea, todos os resultados de comandos grficos continuaro aser enviados para este arquivo.Por isso, se voc criar dois grficos, o segundo substituir o primeiro.Ao executar o comando dev.off(), o arquivo ser gravado no diretrio de trabalho.Se voc quiser grav-lo em outro lugar, ter que especificar o caminho completo no

    comando de criao do arquivo, no argumento filename.

    DICA

    Para gravar uma sequncia de grficos sem precisar dar vrios comandos de abertura dearquivos, use no argumento do nome do arquivo a notao nome%[nmero]d.extenso,onde [nmero] normalmente so os nmeros 01, 02 ou 03:

    png("meugrafico%02d.png")

    Com essa notao os grficos gerados sero gravados com uma numerao sequencial, que

    tem [numero] algarismos. Por exemplo [nmero] = 01 indica numerao sequencial deum algarismo, e voc pode gravar at nove grficos ( meugrafico1.png a meugrafico9.png).Se [nmero] = 02 a numerao sequencial tem dois algarismos, portanto voc pode gravarat 99 figuras (meugrafico01.png a meugrafico99.png).

    Se voc gera mais grficos do que este valor mximo, os excedentes sobrepem osprimeiros, na sequncia. Para evitar isso, normalmente usamos [nmero] = 03, quepermite gerar at 999 arquivos, o que mais do que suficiente na maioria dos casos.

    O padro das funes de arquivos grficos do tipo bitmap no R gerar arquivos com onomeRplotxxx.extenso, com numerao sequencial com 3 algarismos, ou seja:

    bmp(filename = "Rplot%03d.bmp")

    jpeg(filename = "Rplot%03d.jpg")

    png(filename = "Rplot%03d.png")

    tiff(filename = "Rplot%03d.bmp")

    Para arquivos do tipopostscriptepdfo padro um pouco diferente, consulte a ajuda.

    Dispositivos Grficos

    http://en.wikipedia.org/wiki/Bitmap#Device-independent_bitmaps_and_BMP_file_formathttp://en.wikipedia.org/wiki/Bitmap#Device-independent_bitmaps_and_BMP_file_formathttp://en.wikipedia.org/wiki/Bitmap#Device-independent_bitmaps_and_BMP_file_format
  • 7/30/2019 Criao e Edio de Grficos no R

    23/25

    Material elaborado por: Ana Maria de Souza

    Para operar bem com arquivos grficos no R, preciso entender o conceito de dispositivogrfico (graphical device).

    Um dispositivo (device) qualquer unidade de entrada (I=input) ou sada (O=output) emum computador. O teclado um dispositivo de entrada ( I), o monitor de vdeo de sada (O)

    e o disco rgido de ambos (I/O).

    Em termos bem gerais, o R usa o padro de sistemas da famlia UNIX e abre arquivosespeciais (device files) para controlar cada dispositivo de sada grfica 1). Na prticapodemos podemos pensar que o R cria uma rota para cada dispositivo, e que voc podeter vrias destas rotas abertas ao mesmo tempo, mas apenas uma ativa por vez.

    Abrindo e trocando de dispositivos

    Quando executamos um comando com resultado grfico, o padro do R enviar seuresultado para um dispositivo de tela. Se no h nenhum aberto, este dispositivo de tela ser

    aberto. Por exemplo, se iniciamos o R e executamos um comando plot:plot(riqueza~area)

    uma janela se abrir para exibir a figura nele. Este um dispositivo grfico de tela,normalmente do tipo X11 em sistemas UNIX, e do tipo windows em sistemas MicrosoftWindows.

    possvel tambm abrir mais dispositivos de tela, com o comando:

    > x11()

    que funciona nos dois tipos de sistemas operacionais. Ao executar este comando, uma novajanela grfica em branco se abrir, na margem superior da qual voc ver a indicao deque agora este o dispositivo ativo:

    http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:03_apostila:05a-graficos#fn__1#fn__1http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:03_apostila:05a-graficos#fn__1#fn__1http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:03_apostila:05a-graficos#fn__1#fn__1
  • 7/30/2019 Criao e Edio de Grficos no R

    24/25

    Material elaborado por: Ana Maria de Souza

    O dispositivo ativo que receber o resultado de todos os comandos grficos. Assim,vocpode criar um novo grfico neste dispositivo, ou alterar seus parmetros, sem afetar ogrfico que est na outra janela. Quando voc abre um novo dispositivo, os parmetros soos mantidos por padro no R, que voc obtm com o comando par(). Para mud-los, preciso usar o comando par, como explicado nas sees anteriores.

    Para trocar de dispositivo ativo, use a funo dev.set(which=), cujo o argumento which o nmero do dispositivo que voc quer tornar ativo. Por exemplo, para voltar janela dodispositivo 2 execute:

    > dev.set(which=2)

    Qual o Dispositivo Ativo?

    Enquanto temos apenas dispositivos de tela abertos, fcil descobrir qual o ativo, poisesta informao exibida na janela de cada um. Mas quando abrimos um ou mais

    dispositivos de arquivo, como:> png("figura%02d.png")

    > pdf("figura%02d.pdf")

    fcil se perder. Para que isso no acontea h as funes dev.list, para listar todos osdispositivos abertos, e dev.cur, que retorna o dispositivo ativo:

    > dev.list()

    windows windows png:figura%02d.png

    pdf

    2 3 4

    5

    > dev.cur()

    pdf

    5

    > dev.set(3)

    windows

    3

    > dev.cur()

    windows

    3

    Voc fecha um dispositivo com o comando dev.off(which=n), em que n o nmero dodispositivo. Se este argumento omitido, o valor padro o dispositivo ativo:

    > dev.list()

    windows windows png:figura%02d.png

    pdf

    2 3 4

    5

    > dev.cur()

    pdf

    5

    > dev.off()

  • 7/30/2019 Criao e Edio de Grficos no R

    25/25

    Material elaborado por: Ana Maria de Souza

    windows

    2

    > dev.list()

    windows windows png:figura%02d.png

    2 3 4

    > dev.cur()

    windows

    2

    Quando o dispositivo ativo fechado, o seguinte na lista de dispositivos torna-se o ativo. Oltimo comando acima ilustra isto.

    Exerccio 5

    Crie diferentes grficos em diferentes dispositivos. Por fim salve-os em jpeg.

    Para saber mais como salvar grficos em jpeg use a funo ?jpeg.