Existem quatro categorias gerais de dispositivos que são distribuídos com o SASGRAPH. O tipo de dispositivo determina como você controla certos aspectos da sua saída. Nota: Controlar a aparência de seus gráficos descreve os métodos recomendados para controlar os atributos da saída do SASGRAPH. A modificação dos parâmetros do dispositivo deve ser tentada apenas em circunstâncias incomuns quando a modificação de parâmetros e opções na instrução GOPTIONS não é suficiente. Se você precisa modificar uma entrada do dispositivo, considere entrar em contato com o Suporte Técnico da SAS para obter assistência em primeiro lugar. Os dispositivos SASGRAPH nativos produzem saída no idioma nativo do dispositivo. Por exemplo, TIFFP, PS300, SASEMF, JPEG, CGMC e GIF são dispositivos SASGRAPH nativos. Com dispositivos SASGRAPH nativos, você pode especificar atributos padrão para a sua saída personalizando a entrada do dispositivo (a entrada do catálogo DEV). Por exemplo, ao editar a entrada do catálogo DEV para o dispositivo, você pode alterar o tamanho e a resolução padrão da sua saída e as cores e fontes padrão que são usadas quando os estilos estão desativados. Os dispositivos nativos do SASGRAPH não configuram nem usam as opções do sistema SYSPRINT ou PRINTERPATH. Os dispositivos Java e ActiveX produzem saída usando diferentes tecnologias do que os dispositivos SASGRAPH nativos. Esses dispositivos são os dispositivos JAVA, JAVAIMG, ACTIVEX e ACTXIMG. Esses dispositivos não usam informações especificadas na entrada do dispositivo. Os dispositivos de atalho da Impressora universal usam o sistema de impressão universal para gerar saída. A Universal Printing é um sistema de impressão que fornece recursos de impressão para aplicativos e procedimentos SAS em todos os ambientes operacionais suportados pelo SAS. É parte da Base SAS. Para obter informações sobre a impressão universal, consulte Impressão com SAS. Os dispositivos de atalho da Impressora Universal podem gerar saída nos seguintes formatos: PDF, PostScript, PCL, PNG, GIF e SVG. Por exemplo, o PNG e o SVG são dispositivos de atalho da Impressora Universal. Qualquer dispositivo cujo nome comece com a letra U, como UGIF ou UPSL, também é um dispositivo de atalho da Impressora Universal. A descrição de um dispositivo de atalho da Impressora Universal geralmente diz Impressora universal quando você visualiza o conteúdo do catálogo SASHELP. DEVICES (consulte Visualizar a lista de todos os dispositivos disponíveis). A lista de todos os dispositivos de atalhos da Impressora Universal é mostrada em Diferenças na utilização de dispositivos de atalho e impressoras universais. Os dispositivos de atalho da Impressora Universal são projetados para emular um dispositivo SASGRAPH nativo, o que significa que esses dispositivos se comportam tanto quanto possível como dispositivos SASGRAPH nativos. Por exemplo, esses dispositivos definem o valor de PRINTERPATH para que você precise apenas especificar o nome do dispositivo com a declaração GOPTIONS. No entanto, para esses dispositivos, existem alguns atributos de sua saída, como a resolução padrão, que não podem ser modificados modificando a entrada do catálogo DEV. Consulte Usando dispositivos de atalhos de impressora universais para obter mais informações. São dispositivos que, em alguns ambientes operacionais, usam as instalações do ambiente operacional e, em outros ambientes operacionais, usam a impressão universal para gerar saída. Existem três subcategorias de dispositivos de interface: impressora, exibição e metarquivo. Os dispositivos de interface da impressora são os dispositivos SASPRTC, SASPRTG e SASPRTM (e os dispositivos WINPRT nos sistemas Windows). Nos ambientes operacionais do Windows, se a opção do sistema PRINTERPATH não tiver sido definida, esses dispositivos usam a configuração da opção do sistema SYSPRINT para determinar o dispositivo de saída padrão e o Gerenciador de impressão do Windows para controlar a geração de saída. Nos ambientes operacionais do Windows, o Universal Printing System é usado se a opção do sistema PRINTERPATH for especificada ou se a opção do sistema UPRINT for especificada na invocação. Caso contrário, eles usam a configuração da opção do sistema PRINTERPATH para determinar o dispositivo de saída padrão eo sistema de impressão universal para controlar a geração de saída. Honra as especificações GOPTIONS Sim, com exceção da resolução 9 e fontes 1 No Windows, BMP, EMF e WMF são dispositivos de metarquivo de interface. Em todos os outros ambientes operacionais, BMP, EMF e WMF são dispositivos SASGRAPH nativos. 2 Em ambientes operacionais diferentes do Windows, SASEMF, SASWMF e SASBMP são cópias de EMF, WMF e BMP, respectivamente. 3 Com os dispositivos SVG, as opções de gráficos XMAX e YMAX definem o tamanho da página e as opções de gráficos HSIZE e VSIZE definem o tamanho da saída SVG. Com outros dispositivos, as quatro opções definem o tamanho da saída gráfica, e se todos os quatro forem especificados, as especificações menores são usadas. 4 Alguns dispositivos nativos têm uma resolução definida e outros possuem um conjunto fixo de resoluções suportadas que você pode especificar. 5 Os dispositivos de atalho usam impressoras universais. As impressoras universais possuem um conjunto fixo de resoluções suportadas que podem ser selecionadas através da caixa de diálogo Configuração de impressão ou através do procedimento PRINTDEF. 6 Os dispositivos WINPRT são idênticos aos dispositivos SASPRT. Eles só diferem em nome. 7 Os dispositivos da impressora de interface usam uma combinação de instalações de impressão do host e impressão universal, dependendo do ambiente operacional. Nos sistemas Windows, use o Gerenciador de impressão do Windows para alterar a resolução e o tamanho padrão. Em outros sistemas, a resolução e o tamanho são definidos através da caixa de diálogo Configuração de impressão ou pelo procedimento PRINTDEF. 8 O dispositivo é consultado. O tamanho é restringido pela janela. 9 A resolução da tela está configurada nas propriedades de exibição para o ambiente operacional. O dispositivo é consultado e a resolução é definida de acordo com o valor retornado. A declaração GOPTIONS especifica valores para opções de gráficos. As opções de gráficos controlam as características do gráfico, como tamanho, cores, tipos de letra, padrões de preenchimento e símbolos. Se GOPTIONS for especificado, eles substituem o estilo padrão. Além disso, eles afetam as configurações dos parâmetros do dispositivo, que são definidas na entrada do dispositivo. Os parâmetros do dispositivo controlam características como a aparência do display, o tipo de saída produzido e o destino da saída. A declaração GOPTIONS permite que você altere essas configurações temporariamente, seja para um único gráfico ou para a duração da sessão SAS. Você pode usar a instrução GOPTIONS para fazer as seguintes tarefas: substituir os valores padrão para as opções de gráficos que controlam os atributos gráficos ou os parâmetros do dispositivo para um único gráfico ou para uma sessão completa da SAS restituir opções de gráficos individuais ou todas as opções de gráficos para seus valores padrão cancelar definições Para instruções AXIS, FOOTNOTE, PATTERN, SYMBOL e TITLE Para alterar os parâmetros do dispositivo permanentemente, você deve usar o procedimento GDEVICE para modificar a entrada apropriada do dispositivo ou para criar um novo. Consulte o Procedimento do GDEVICE para obter detalhes. Para rever as configurações atuais de todas as opções de gráficos, use o procedimento GOPTIONS. Consulte o procedimento GOPTIONS para obter detalhes. Veja Opções de Gráficos e Dicionário de Parâmetros de Dispositivo para uma descrição completa de todas as opções de gráficos usadas pela declaração GOPTIONS. As declarações GOPTIONS são globais e podem ser localizadas em qualquer lugar no seu programa SAS. No entanto, para que as opções de gráficos afetem o resultado de um procedimento, a instrução GOPTIONS deve ser executada antes do procedimento. Com a exceção da opção RESET, as opções de gráficos podem ser listadas em qualquer ordem em uma declaração GOPTIONS. A opção RESET deve ser a primeira opção na declaração GOPTIONS. Uma opção gráfica permanece em vigor até que você especifique a opção em outra instrução GOPTIONS ou use a opção RESET para redefinir os valores ou finalizar a sessão SAS. Quando uma sessão termina, os valores das opções de gráficos retornam aos seus valores padrão. As opções de gráficos são aditivas, o valor de uma opção gráfica permanece em vigor até que a opção de gráficos seja explicitamente alterada ou reiniciada ou até que você termine sua sessão SAS. As opções de gráficos permanecem em vigor mesmo depois de enviar instruções GOPTIONS adicionais especificando diferentes opções. Para redefinir uma opção individual para o seu valor padrão, envie a opção sem um valor (uma opção de gráficos nula.) Você pode usar uma vírgula (mas não é necessária) para separar uma opção de gráficos nulos da próxima. Por exemplo, esta declaração GOPTIONS define os valores de cor de fundo, altura do texto e fonte de texto: para redefinir apenas a especificação de cor de plano de fundo para o padrão e manter os valores restantes, use esta declaração GOPTIONS: Para redefinir todas as opções gráficas para seus valores padrão , Especifique RESETGOPTIONS: Alternativamente, você pode usar o RESETALL, mas também cancela quaisquer definições de declaração global, além de redefinir todas as opções de gráficos para valores padrão. Você pode controlar muitos atributos gráficos através de opções de instruções, opções de gráficos, parâmetros do dispositivo ou uma combinação destes. SASGRAPH procura esses locais para determinar o valor a ser usado, parando no primeiro lugar que lhe dá um valor explícito: o valor da opção de gráficos correspondente o valor de um parâmetro do dispositivo encontrado na entrada do catálogo para o driver do dispositivo Nota: nem todos os gráficos O atributo pode ser definido em todos os três lugares. Veja os capítulos de instruções e procedimentos para as opções que podem ser usadas com cada um. Algumas opções de gráficos são suportadas apenas para dispositivos específicos ou ambientes operacionais. Consulte a facilidade de Ajuda SAS para SASGRAPH ou o companheiro SAS para o seu ambiente operacional para obter mais informações. Aqui é um exemplo simples de como produzir um gráfico: Cowboy Hat Program Output mostra a saída para este programa: Se você usar a opção DISPOSITIVO no Declaração GOPTIONS para encaminhar seus gráficos para um dispositivo impresso e, em seguida, você deseja retornar ao uso do monitor para exibir gráficos, você deve especificar um driver. Envie a seguinte declaração para exibir a saída de gráficos no seu monitor: Você também deve usar o driver do dispositivo WIN para produzir gráficos no seu monitor quando você executar o seu trabalho SAS no modo batch. Se você especificar que a saída do programa deve ser exibida em HTML, seu gráfico é convertido em um arquivo. GIF e armazenado na mesma pasta que o conjunto de dados do seu sistema SAS. Para obter mais informações, consulte o Guia completo do sistema de entrega de saída SAS. Use um driver de impressora do Windows para o seu dispositivo (fornecido com o Windows ou com seu dispositivo de saída). Esse método permite que o SASGRAPH envie comandos de gráficos genéricos para o driver de impressora do Windows, que então traduz os comandos para um formato que a impressora pode usar. Use um driver de impressora SASGRAPH para criar um fluxo de gráficos específico da impressora que pode ser enviado diretamente para o dispositivo. Quando você usa um driver de impressora SASGRAPH (também chamado de driver de impressora nativo SASGRAPH, o que significa que ele cria saída usando o idioma da impressora nativo do dispositivo alvo), o SAS ignora os drivers de impressora do Windows e cria saída pronta para impressora para o seu dispositivo. Os drivers de impressora SASGRAPH no Windows são semelhantes aos usados pelo SAS System em sistemas operacionais mainframe e UNIX. Depois que o SAS prepara a saída para uma impressora (usando drivers de impressora do Windows ou um driver de impressora SASGRAPH), a saída é enviada para o Gerenciador de impressão do Windows, que depois o cola para imprimir no dispositivo de sua escolha. SASGRAPH Drivers de impressora genéricos versus drivers de impressora nativa SASGRAPH ilustra como você pode usar os dois conjuntos de drivers de impressora dentro do SASGRAPH para produzir saída para um determinado dispositivo. O método que você escolher depende do dispositivo de saída que você está usando. Para obter mais informações, consulte Escolher entre um driver nativo SASGRAPH e o driver WINP xxx. Você pode controlar ambos os métodos de impressão gráfica usando as caixas de diálogo Imprimir e Imprimir Configuração ou SYSPRINT e a instrução GOPTIONS DEVICE. Usando os drivers SASGRAPH Generic (WINP xxx) 13 Para imprimir um gráfico usando os drivers de dispositivo genérico SASGRAPH com os drivers de impressora do Windows: No menu suspenso Arquivo, selecione Configuração de impressão e verifique se o campo Impressora na caixa de diálogo Configuração de impressão contém O driver e a porta de impressora do Windows corretos. Você pode usar a caixa de diálogo Configuração de impressão para selecionar as combinações de driver de impressora que você instalou no Gerenciador de impressão. (Para instalar novos drivers e combinações de portas, você pode usar o Assistente para Adicionar Impressora no Windows, que você pode acessar através do Painel de Controle do Windows.) Alternativamente, você pode usar a opção SYSPRINT para atribuir a impressora de destino (por exemplo, opções sysprintHP LaserJet III). Observe que você pode atribuir apenas nomes de driver de impressora que foram previamente configurados no Windows. Execute o seu programa SASGRAPH com as seguintes GOPTIONS: GOPTIONS DEVICEWINP xxx O valor de WINP xxx que você especificar depende do tipo de dispositivo de saída que você usa para imprimir seu gráfico: WINPRTM para impressoras preto e branco (monocromático) WINPRTG para impressoras em escala de cinza WINPRTC para impressoras a cores WINPLOT para plotters. A orientação da saída gráfica é determinada pelo seguinte: Se você especificar a opção GOPTIONS ROTATE, a saída será orientada de acordo com o valor especificado para ROTATE. Por exemplo, se você especificar goptions rotatelandscape. Então a saída é orientada como paisagem, independentemente das configurações na caixa de diálogo Configuração de impressão. Se você não usar a opção GOPTIONS ROTATE, a saída será orientada de acordo com as configurações na caixa de diálogo Print Setup. Nota: a impressão gráfica é afetada pelas margens especificadas na caixa de diálogo Configurar página. Se você modificar as margens ao imprimir gráficos e sua intenção é manter o gráfico proporcional, certifique-se de alterar as margens superior e inferior pelo mesmo valor, você altera as margens Esquerda e Direita. O uso dos drivers da impressora nativa SASGRAPH produz a saída HPGL usada pelos plotters Hewlett Packard 7550. Depois que o driver de impressora nativo SASGRAPH produziu saída no idioma nativo do dispositivo de destino, o SAS rooteia a saída para o dispositivo usando o Gerenciador de impressão do Windows. O Sistema SAS ignora o driver do Windows atualmente associado ao dispositivo alvo, mas respeita o destino especificado na caixa de diálogo Configuração de impressão ao decidir onde enviar a saída. Para imprimir um gráfico usando um driver de impressora SASGRAPH, execute o programa SASGRAPH com as seguintes GOPÇÕES: onde o nome do driver é o nome de um driver de dispositivo SASGRAPH válido. Por exemplo, formata o gráfico para a impressora Hewlett-Packard LaserJet Series II. (Você pode ver a lista completa dos drivers SASGRAPH enviando a instrução PROC GDEVICE.) Para imprimir um gráfico para um arquivo de impressora (também chamado de arquivo de fluxo de gráficos ou GSF) em vez de diretamente para uma impressora, especifique a opção GSFNAME no Declaração GOPTIONS com o nome do arquivo ou fileref que aponta para onde você quer o resultado. Por exemplo: Impressão e pré-visualização a partir da janela GRAPH Ao especificar um dispositivo alvo, o SASGRAPH pode formatar o gráfico com cores e atributos apropriados para a impressora alvo. Para imprimir o gráfico depois que ele é exibido, selecione o menu suspenso Arquivo e selecione Imprimir. Nota: Se você não especificar um TARGETDEVICE antes de criar o gráfico, o SASGRAPH irá solicitar você (na caixa de diálogo Imprimir) para um nome de driver de dispositivo quando tentar imprimir o gráfico que você está visualizando. (Na maioria dos casos, o driver WINPRTM ou WINPRTC é especificado por padrão.) As cores do gráfico, a orientação e o dimensionamento podem não ser ótimos para o dispositivo de saída que você especificou. Escolhendo entre um driver nativo SASGRAPH e o driver WINP xxx 13 Ao decidir se usam drivers nativos SASGRAPH ou a série WXP xxx de drivers, você deve considerar fatores como o dispositivo que você está usando e o tipo de saída que deseja produzir. Observe as seguintes considerações específicas: se nenhum driver de impressora do Windows estiver disponível para o seu dispositivo, use um driver nativo SASGRAPH. Se você tem um dispositivo para o qual não há driver nativo SASGRAPH, você deve usar o driver WINP xxx, desde que haja um driver de impressora Windows disponível para o dispositivo. Nos casos em que um novo modelo de dispositivo impresso esteja disponível entre os lançamentos do SAS System e o fornecedor de hardware fornece um novo driver do Windows que usa novos recursos do dispositivo, você pode usar um driver WINP xxx para aproveitar esses recursos. Se você quiser usar opções como HSIZE ou VSIZE para personalizar as especificações de tamanho usadas em seu gráfico, o uso de drivers nativos SASGRAPH geralmente produz resultados mais confiáveis. Para usar fontes TrueType na sua saída SASGRAPH, use um dos drivers WINP xxx e especifique a fonte exatamente como você especificaria uma das fontes de hardware instaladas para sua impressora. Para obter mais informações sobre como gerar fontes de hardware, consulte Visão geral sobre considerações de gráficos. Para importar gráficos de bitmap para SASGRAPH: com a janela GRAPH ativa, selecione Importar imagem. Item de menu no menu Arquivo. Use a caixa de diálogo Importar imagem para selecionar o diretório de origem e o arquivo de gráficos. Certifique-se de que o campo Formatar mostra o formato de fonte correto, isso indica qual filtro de importação SASGRAPH usará. Você pode fazer com que o Sistema SAS detecte automaticamente o formato do arquivo para importar, selecionando AUTO como Formato. Clique em OK. Nota: A detecção automática do formato de arquivo usando AUTO não detecta os formatos de arquivo DIB, EMF e WMF. Você também pode incluir as entradas de catálogo IMAGE em seus gráficos. Para obter informações sobre como incluir as entradas do catálogo IMAGE, consulte SASGRAPH Software: Reference. Exporte os gráficos para um arquivo a partir da janela GRAPH, Editor de gráficos ou editor de imagem, conforme descrito em Exportando um gráfico para um arquivo de uma janela SASGRAPH. Copie os gráficos (ou uma parte deles) para a área de transferência do Windows e, em seguida, cole o conteúdo da área de transferência no aplicativo de destino (como um bitmap), conforme descrito em "Pastar gráficos" da SASGRAPH para outros aplicativos do Windows. Crie um arquivo de metarquivo de gráficos computacionais (CGM) para uso com um pacote de gráficos específico, usando drivers incluídos no Sistema SAS, conforme descrito em Criando arquivos CGM para exportação para outros aplicativos. Você também pode usar SASGRAPH para criar arquivos GIF e VRML para uso com navegadores da Web, arquivos PDF para uso com o leitor Adobe Acrobat e muitos outros tipos úteis de arquivos gráficos. Para obter mais informações sobre como criar esses tipos de arquivos, consulte SASGRAPH Software: Referência e a Ajuda on-line do SAS para SASGRAPH. Você pode exportar gráficos do SASGRAPH em qualquer um dos formatos mostrados nos Formatos de Arquivo de Exportação Gráfica. Para exportar um gráfico a partir da janela GRAPH: Com a janela GRAPH como a janela ativa, selecione o menu suspenso Arquivo e, em seguida, selecione Exportar imagem. . Na caixa de diálogo Exportar imagem, selecione o formato do arquivo alvo. Especifique o diretório e o nome do arquivo para o gráfico exportado. Clique em OK. Para obter mais informações sobre como exportar gráficos para uma entrada de catálogo SAS IMAGE do editor de imagens, consulte a Ajuda on-line do SAS para SASGRAPH. Para copiar informações da SASGRAPH para a área de transferência: Na janela GRAPH, mantenha pressionado o botão esquerdo do mouse e arraste o mouse sobre a parte do gráfico que deseja copiar. Uma caixa de seleção marca a área selecionada à medida que você move o mouse. Quando terminar, solte o botão do mouse. Se você não selecionar uma área do gráfico para copiar, o próximo passo copiará todo o gráfico para a área de transferência. Com a janela GRAPH ainda ativa, pressione CTRLC (ou selecione Copiar para colar buffer no menu Editar). Isso copia o gráfico para a área de transferência. A partir daqui, você pode alternar para o aplicativo de destino e cole o gráfico (normalmente usando as opções Cole ou Colar Especial no outro aplicativo do Windows). Para obter mais informações sobre como colar informações da área de transferência, consulte a documentação para o outro aplicativo do Windows. Para criar um CGM da SASGRAPH, defina GOPTIONS da seguinte forma: onde o CGM xxxx é o driver CGM apropriado para seu aplicativo de destino e o nome do arquivo. CGM é o nome do arquivo que deseja criar. Os drivers e a documentação do CGM para pacotes de gráficos populares lista os pacotes de gráficos aos quais você pode exportar CGMs, os drivers apropriados para usar e o documento do SAS Institute que descreve como exportar o arquivo e usá-lo com o aplicativo de destino. Você acessa esses documentos gratuitamente da Divisão de Suporte Técnico SAS Institutes no site do Instituto SAS. NOTICE: O grupo de consultoria estatística IDRE estará migrando o site para o WordPress CMS em fevereiro para facilitar a manutenção e criação de novos conteúdos. Algumas de nossas páginas antigas serão removidas ou arquivadas de modo que elas não serão mais mantidas. Vamos tentar manter os redirecionamentos para que os URLs antigos continuem a funcionar da melhor maneira possível. Bem-vindo ao Instituto de Pesquisa e Educação Digital, ajudando o Grupo de Consultoria Estatal, oferecendo uma biblioteca SAS da SAS. Introdução aos Gráficos de Qualidade da Publicação no SAS para Windows. Esta página foi adaptada de uma página com o mesmo nome (datado de 13 de agosto de 1998) criado por Oliver Schabenberger. Agradecemos ao professor Schabenberger a permissão para adaptar e distribuir esta página através do nosso site. Usuários novatos do sistema SAS freqüentemente questionam como criar gráficos de qualidade de publicação. Embora o núcleo do sistema SAS contenha vários procedimentos para gráficos de impressora de linha simples, como PROC PLOT e PROC CHART, a saída desses procedimentos não é qualidade de publicação. O módulo SASGRAPH contém procedimentos para a criação de gráficos de alta qualidade. Embora seja fácil usar procedimentos como GPLOT, GCHART, G3D, etc. e produzir algum gráfico bonito na tela, é mais uma história para formatar esses gráficos para um dispositivo de saída específico, para que eles possam ser impressos, copiados para Um processador de texto, exportado como GIFs, etc. O estudo dos manuais SASGRAPH (dois volumes) é essencial para aprender todos os prós e contras desse processo. Eu sempre senti que o meio mais eficiente para obter gráficos ood é usar um modelo ou programa escrito por outra pessoa e modificar para acomodar suas necessidades e desejos. Esta página da Web contém vários programas de exemplo para produzir gráficos de qualidade de publicação formatados para uma impressora laser HP. Os gráficos são exibidos WYSIWYG no Windows e podem ser impressos a partir da tela. 1. Como o SASGRAPH é diferente de outros pacotes de gráficos Você está familiarizado com pacotes de gráficos como SigmaPlot, PlotIt, Axum, etc., onde os gráficos são produzidos a partir de planilhas como dados. Anotações são colocadas no gráfico de forma interativa. O tipo de gráfico é escolhido através de uma interface gráfica de usuário, e assim por diante. Nos gráficos SASGRAPH são produzidos usualmente por demonstrações de programação no PROGRAM EDITOR e executando-os (existem outras formas de criar gráficos em SAS, por exemplo, SASINSIGHT e SASSPECTRAVIEW). A definição de eixos, anotações, notas no gráfico, os dados a serem usados, o tamanho e o tipo de símbolos e linhas são parte do programa. Isso parece ser um impulso para usuários novatos, mas de fato é extremamente poderoso. Embora dê ao usuário um controle completo sobre a aparência de um gráfico, resulta em um programa armazenável que pode ser executado posteriormente para um conjunto de dados diferente, produzindo essencialmente o mesmo gráfico com novos dados. Pode-se criar vários gráficos a partir de um conjunto de dados com anotações que são colocadas de forma idêntica, podem alterar seus valores dependendo do conteúdo de um conjunto de dados sem a intervenção do usuário. Em vez de armazenar um enorme arquivo de gráficos, você pode optar por salvar um pequeno programa SAS que, após a execução, crie o gráfico que deseja. Goptions são as opções de gráficos que definem o dispositivo de saída para o qual os gráficos são formatados, sejam exibidos como pré-visualização de tela, escritos em arquivo, tamanho do gráfico, orientação, etc. Ao definir corretamente as opções, você pode reduzir o procedimento Declarações, código nas definições de eixo e legenda, etc. 2.1. Goptions for screen preview, formatado para HP LaserJet A próxima declaração é para orientação vertical em uma impressão HP Laserjet 4 em 600 dpi: goptions devicewin targetdeviceHPLJ4SI gunitin hby0 vsize10.0 em hsize8.0 na exibição noprompt noborder A opção DEVICEWIN diz ao SAS para produzir gráficos Como visualizações de tela WYSIWYG. Uma vez que o gráfico parece ser de sua preferencia, você pode imprimir, anotar ou exportá-los a partir daí. Os gráficos de dispositivo de saída formatados são determinados pela opção TARGETDEVICE. Para obter uma lista de dispositivos no seu sistema, execute o proc gdevice e segure as descrições até encontrar o dispositivo de sua escolha. A opção GUNIT especifica a unidade de medida a ser utilizada com certas especificações de altura. GUNIIN define as unidades gráficas em polegadas. Uma declaração de símbolo como symbol1 colorblack h0.1 valueplus produzirá símbolos gráficos de 0,1 polegadas de altura. A opção HBY0 define a altura (em armas) da linha BY ao usar o processamento em procedimentos SASGRAPH. Ele suprime efetivamente os cabeçalhos automáticos que o SAS escreverá em cada gráfico para cada grupo em um conjunto de dados ordenados. VSIZE e HSIZE definem o tamanho vertical e horizontal da área de saída gráfica. Você deve configurá-lo para permitir as margens de página necessárias. A opção NOBORDER suprime a impressão de um quadro ao redor do gráfico. NOPROMPT é útil se você deseja evitar que o SAS envie prompts para o dispositivo grphics. Esta pode ser uma mensagem como quotPor favor, adicione paperquot ou para visualizações de tela quotPress Returnquot. Com o NOPROMPT, os gráficos são exibidos logo que são gerados. A opção DISPLAY instrui o SAS não apenas para gerar gráficos, mas também para exibi-los. Em muitas aplicações, você produz vários gráficos em seu programa, mas não quer vê-los imediatamente. Em vez disso, depois que todos os gráficos são produzidos, você os exibe em uma tabela 22 na tela (reproduzindo). Durante a criação dos gráficos, defina o GOPTIONS NODISPLAY e ative o DISPLAY apenas antes de reproduzir. A declaração GOPTIONS da seção anterior pode ser modificada facilmente para acomodar a impressão de paisagens. Apenas swith VSIZE e HSIZE e adicione a opção ROTATE: goptions devicewin targetdeviceHPLJ4SI gunitin hby0 vsize8.0 in hsize10.0 no noopround noprompt exibir rotatelandscape 2.3. Salvando um gráfico em um formato gráfico específico Ao invés de exibir gráficos na tela e exportar da pré-visualização para um formato de arquivo gráfico específico, você pode gerar os gráficos diretamente no formato desejado. Isso é feito combinando uma instrução FILENAME (que define um fileref) com GOPTIONS apropriadas. As próximas duas instruções geram um gráfico no formato CGM (formatado para Microsoft Word para Windows, veja o dispositivo gráfico cgmmwwc com proc gdevice executado). O gráfico será armazenado em C: ResearchGraphsFirstgraph. cgm. GSFMODEREPLACE instrui o SAS a substituir o arquivo se ele existir. Filename outfile C: ResearchGraphsFirstGraph. cgm goptions gsfmodereplace gsfnameoutfile deviccgmmwwc As próximas instruções criam um gráfico SAS como um arquivo gif 373280 pixel: outfile do nome do arquivo C: ResearchGraphsGifsFirstGif. gif goptions gsfmodereplace gsfnameoutfile devicegif373 Os gráficos bivariados nesta seção serão gerados a partir do seguinte conjunto de dados Contendo funções de poder para três análises diferentes (CRF, SPD, ERF) e três graus de dependência de dados (intervalo 50, 100, 200). Variável TRUED mede a verdadeira diferença nas comparações médias. Os lotes bivariados que queremos criar são parcelas de POWER05 (eixo vertical) versus TRUED (eixo horizontal). Intervalo de entrada de energia de dados analis trueD poder05 cnt datalines 50 CRF 0 0,04080 1 50 CRF 1 0,08425 1 50 CRF 2 0,17533 1 50 CRF 3 0,34800 1 50 CRF 4 0,54400 1 50 ERF 0 0,15980 2 50 ERF 1 0,20625 2 50 ERF 2 0,27967 2 50 ERF 3 0,43100 2 50 ERF 4 0,58500 2 50 SPD 0 0,05280 3 50 SPD 1 0,07550 3 50 SPD 2 0,21033 3 50 SPD 3 0,39950 3 50 SPD 4 0,59400 3 100 CRF 0 0,04120 4 100 CRF 1 0,10500 4 100 CRF 2 0,21567 4 100 CRF 3 0,39150 4 100 CRF 4 0,60600 4 100 ERF 0 0,06410 5 100 ERF 1 0,13125 5 100 ERF 2 0,24467 5 100 ERF 3 0,41700 5 100 ERF 4 0,61000 5 100 SPD 0 0,05410 6 100 SPD 1 0,06650 6 100 SPD 2 0,25200 6 100 SPD 3 0,48000 6 100 SPD 4 0,69900 6 200 CRF 0 0,04270 7 200 CRF 1 0,15925 7 200 CRF 2 0,31467 7 200 CRF 3 0.50400 7 200 CRF 4 0,68000 7 200 ERF 0 0,05420 8 200 ERF 1 0,166800 8 200 ERF 2 0,33467 8 200 ERF 3 0,52350 8 200 ERF 4 0,69500 8 200 SPD 0 0,05780 9 200 SPD 1 0,07550 9 200 SPD 2 0,34833 9 200 SPD 3 0,62000 9 200 SPD 4 0,80100 9 executar proc classificar o sensor de dados por faixa analisar trued executar Isto O gráfico combina os três intervalos e análises, ou seja, grafica todos os pontos de dados no conjunto de dados. É formatado para uma orientação da página de retrato de impressão HP LaserJet IV a 600 pontos por polegada. Goptions devicewin targetdeviceHPLJ4SI gunitin hby0 vsize10.0 em hsize8.0 na exibição noprompt noborder Defina os símbolos a serem usados no gráfico. Apenas um tipo de símbolo é usado aqui. Eu defino o método de interpolação. Para conectar pontos use IJOIN. INONE não conecta os pontos. L1 seria o tipo de linha, se os pontos de dados estiverem conectados. VCIRCLE define o símbolo a ser usado. Symbol1 colorblack height0.15 inone l1 vcircle Define o primeiro eixo todas as medidas estão em polegadas, desde GUNITIN em GOPTIONS axis1 comprimento 5.5 origem (1.50, 2.00) largura 2 largura de largura offset (0.2, 0.1) valor (cblack fcentb height0.13) major (Cblack H0.09 largura2) menor (cblack H0.05 largura2 n1) etiqueta (cblack H0.12 em fcentb Diferença de média verdadeira) A definição do eixo vertical. A opção A90 na instrução LABEL roda a etiqueta 90 graus eixo2 comprimento 5.5 na origem (1.50 polegadas, 2.00 polegadas) largura2 ordem (0 a 1 por 0,10) o valor mínimo de min., Max e tamanho do passo (0,2 in, 0,1 in) ( Cblack fcentb height0.13 in) major (cblack H0.09 width2) minor (cblack H0.05 width2 n1) label (cblack H0.12 no fcentb a90 Função de energia) elimine títulos existentes e notas de rodapé antes de criar o gráfico para que eles não obstruam o Título do gráfico, nota de rodapé Crie o gráfico e visualize-o. Atribua AXIS1 definido acima como a horizontal e AXIS2 como o movimento do eixo vertical gplot dataapower note move (1.5 in. 1.0 in) fcentb h0.12 em quotFigura 1. Função de energia como uma função de diferenças de significados reais. Power05trued 1 haxisaxis1 vaxisaxis2 run quit 3.2 . Símbolos variáveis com base em uma variável de conjunto de dados No procedimento PROC GPLOT anterior, chame a instrução plot power05trued 1. Instruiu o SAS para usar a primeira definição de símbolo (símbolo1) para representar pontos de dados. Para identificar os pontos de dados correspondentes a diferentes análises, precisamos usar múltiplas definições de símbolos e instruir o SAS quando escolher um determinado símbolo. Usamos o conjunto de dados variável CNT para fazer o último. Sempre que a CNT muda de valor, queremos que o SAS altere o símbolo. Definir três tipos de símbolos diferentes, um para cada simbolo de análise1 altura do colorblack0.15 no inone l1 símbolo do vírculo2 altura do colorblack0.15 no inone l1 vplus symbol3 corblack height0.15 inone l1 vdiamond Call GPLOT, mas use apenas os dados correspondentes ao range100 Observe que o A instrução PLOT contém CNT que instrui o SAS a obter a atribuição de símbolos da variável de conjunto de dados CNT. Proc gplot datapower (onde (range100)) nota move (1.5 in. 1.0 in) fcentb h0.12 em quotFigura 1. Função de energia como uma função de diferenças significativas reais parcela Power05trued cnt haxisaxis1 vaxisaxis2 run pardo plot Power05trued cnt haxisaxis1 vaxisaxis2 no anterior O exemplo causou a SAS colocar uma legenda antiestática na parte inferior da página. You can deal with this in three different ways: a) suppress the legend altogether using the NOLEGEND option: plot Power05trued cnt haxisaxis1 vaxisaxis2 nolegend b) define a better looking legend and tell SAS to use it instead c) Use annotations instead of a legend. Here is how to implement the second approach: legend1 across1 down 3 frame position(top left inside) mode share value (fcentb h0.1 in cblack Correct Random Field Estimated Random Field Split Plot Design) label (fcentb h0.15 in cblack Type of Analysis:) symbol1 colorblack height0.15 in ijoin l1 vcircle w2 symbol2 colorblack height0.15 in ijoin l1 vplus w2 symbol3 colorblack height0.15 in ijoin l1 vdiamond w2 proc gplot datapower(where(range100)) note move(1.5 in. 1.0 in) fcentb h0.12 in quotFigure 1. Power function as a function of true mean differencesquot plot Power05trued cnt haxisaxis1 vaxisaxis2 legendlegend1 run quit If you are not sure how to order the text descriptors in the VALUE statement, leave them off the first time you run the graph. SAS will use the internal values from the data set instead. 3.4. Annotations with annotation data set An annotation data set is a data set containing instructions where to put labels on a graph, how to format them, etc. You can actually create entire graphs including data values, lines, etc. from nnotation data sets. To use annotations you must create an annotation data set and tell SAS in the PLOT statement to use the particular data set through the ANNOTATE option. Create the annotation data set. Notice that it is based on the actual data set POWER. For each analysis output one label. data anno length function color style 8 text 20 retain a few variables so you dont have to define them for every observation. retain color black style swiss hsys 3 xsys ysys 2 set power(where(range100)) by range analys Output a label when hitting the last observation in a particular analysis group so the label will appear at the right end of the graph if last. analys then do functionlabel text Analys get the label text from the data set variale angle0 x Trued y power05 position of label on graph size1.2 position 6 position of label relative to x and y 6 this displays it right justified output output the observation to the annotation data set end run proc gplot datapower(where(range100)) note move(1.5 in. 1.0 in) fcentb h0.12 in quotFigure 1. Power function as a function of true mean differencesquot plot Power05trued cnt haxisaxis1 vaxisaxis2 annotateanno nolegend run quit The next example plots the SPD analysis but writes the actual data values over the symbols. data anno length function color style 8 text 20 retain color black style swiss hsys 3 xsys ysys 2 set power(where( (range100) and (analysSPD))) functionlabel text left(put(power05,4.2)) angle0 x Trued y power05 size1.2 position 2 output run proc gplot datapower(where((range100) and (analysSPD))) note move(1.5 in. 1.0 in) fcentb h0.12 in quotFigure 1. Power function as a function of true mean differences. quot move(1.5 in. 0.8 in) fcentb h0.12 in quot Power values shown. quot plot Power05trued cnt haxisaxis1 vaxisaxis2 annotateanno nolegend run quit Histograms are created with PROC GCHART. It can plot vertical bar charts, horizontal bar charts, pie charts, etc. In this exaple, we plot the empirical frequency distribution of a Chi-Square random variable with 6 degrees of freedom. Create the data by randomly drawing from the Chi-Square disribution 1000 times data chi2 do i 1 to 1000 x 2rangam(1234,3) output end run define the (horizontal) axis axis1 length 5.5 in origin(1.50 in, 2.00 in) width2 offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) label(cblack H0.12 in fcentb Chi2 Realization) define the vertical axis axis2 length 5.5 in origin(1.50 in, 2.00 in) width2 offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) major(cblack H0.09 width2) minor(cblack H0.05 width2 n1) label(cblack H0.12 in fcentb a90 Percent) proc gchart datachi2 vbar x typepercent display frequency as percentages levels10 number of levels for numeric variable x raxis axis2 axis definition for the response (vertical) maxis axis1 axis definition for midpoints (horizontal) run quit Since the variable X is numeric, you can define the class midpoints to be used in three different ways: a) simply specify the number of levels to be created as above with the LEVELS option. b) define specific midpoints with the MIDPOINTS optin, e. g. MIDPOINTS1 to 30 by 2 c) Let SAS calculate the class midpoints automatically by neither specifying LEVELS or MIDPOINTS 4.2. Side-by-side (grouped) histograms To create side-by-side histograms in the same graph use a variable in the data set which defines which histogram a data point belongs to and use this variable in the GROUP option of the VBAR stateent in PROC GCHART. In the next example, 1000 observations are drawn at random from a Chi-Square distribution with 6 degrees of freedom followed by 1000 observations from a Gaussian distribution with the same mean and variance. A histogram is produced for each set of 1000 observations and displayed inthe same graph. The variable DIST identifies the group membership. data chi2 do i 1 to 2000 if i lt 1000 then do Chi(6) distribution x 2rangam(1234,3) distChi(6) end else do A Gaussian distribution with same mean and var. x 6 Sqrt(12)rannor(1234) distN(6,12) end output end run define an axis for the groups axis3 length 5.5 in origin(1.50 in, 2.00 in) width2 offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) label(cblack H0.12 in fcentb Distribution Type) proc gchart datachi2 vbar x typepercent groupdist levels10 number of levels for numeric variable x raxis axis2 axis for the response (vertical) maxis axis1 axis for the midpoint axis (horizontal) gaxis axis3 axis for the grouping axis run quit 4.3. Subdivided (subgrouped) histograms Rather than displaying histograms side-by-side, one often wants to subdivide the bars in a histogram according to some other variable. Use the SUBGROUP option of the VBAR statement to tell SAS which data set variable defines the subdivision of the bars. The following (fictitious) data set contains sales figures from four states for three years. The histrogram of annual sales is to be subdivided by states. axis2 length 5.5 in origin(1.50 in, 2.00 in) width2 value(cblack fcentb height0.13 in) major(cblack H0.09 width2) minor(cblack H0.05 width2 n1) label(cblack H0.12 in fcentb a90 Cumulative Sales in Thsd ) axis1 length 5.5 in origin(1.50 in, 2.00 in) width2 order (1996, 1997, 1998) value(cblack fcentb height0.13 in) label(cblack H0.12 in fcentb Calendar Year) legend2 across1 frame position(top right inside) mode share value (fcentb h0.1 in cblack Michigan Ohio Virginia Wisconsin) label (fcentb h0.15 in cblack State:) proc gchart datasales vbar year discrete interpret YEAR as a discrete variable width7 define the width of a bar raxisaxis2 maxisaxis1 sumvarsales the variable you wish to sum subgroupstate the variable defining the subdisivion legendlegend2 run quit The patterns SAS uses to fill the bars may not be the ones you like most. To change the fill pattern use the PATTERN statement: pattern1 cblack values solid black pattern2 cblack valuee empty gt white pattern3 cblack valueL1 left hatched density 1 pattern4 cblack valueR3 right hatched density 3 proc gchart datasales vbar year discrete width7 raxisaxis2 maxisaxis1 sumvarsales subgroupstate legendlegend2 run quit 5. Replaying Multiple Graphs Per Page To replay multiple graphs on a page you have to do the following: a) define a graphics catalog in which the graphs produced along the way are stored. This is done with PROC GREPLAY. b) define how many graphs are replayed per page, and where they go. This is also done in PROC GREPLAY c) replay the graphs During creation of the graphs I usually turn the DISPLAY GOPTION OFF by executing first and turn displaying of graphs on just before invoking replaying. This example creates two bivariate plots and two histograms and displays them in a 22 table on a single page. Delete the contents of the graphics catalog MyCat, if the catalog exists. If the catalog doe not exist, this will create an error message, but SAS will continue to process statements. So, no harm done. proc greplay igoutMyCat tctempcat nofs delete all quit goptions devicewin targetdeviceHPLJ4SI gunitin hby0 vsize10.0 in hsize8.0 in noborder noprompt nodisplay turn automatic display of graphics off Now generate the graphs First generate plots of the power function for all ranges symbol1 colorblack height0.15 in ijoin l1 vcircle w2 axis1 length 5.5 in origin(1.50 in, 2.00 in) width2 offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) major(cblack H0.09 width2) minor(cblack H0.05 width2 n1) label(cblack H0.12 in fcentb True mean difference) axis2 length 5.5 in origin(1.50 in, 2.00 in) width2 order (0 to 1 by 0.10) offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) major(cblack H0.09 width2) minor(cblack H0.05 width2 n1) label(cblack H0.12 in fcentb a90 Power function) data anno length function color style 8 text 23 retain color black style swiss hsys 3 xsys ysys 2 set power(where(range100)) by range analys if last. analys then do functionlabel if AnalysSPD then text Split-Plot Analysis else if analysERF then textEstimated Random Field else if analysCRF then textCorrect Random Field angle0 x 0 y 0.95 size1.5 position 6 output end run Notice the GOUT option on the PROC GPLOT statement It places the graph into the graphics catalog from where we pull it again when the graphs are replayed proc gplot datapower(where(range100)) goutMyCat plot Power05trued 1 haxisaxis1 vaxisaxis2 annotateanno by analys run quit axis1 length 5.5 in origin(1.50 in, 2.00 in) width2 offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) label(cblack H0.12 in fcentb Chi2 Realization) axis2 length 5.5 in origin(1.50 in, 2.00 in) width2 offset(0.2 in, 0.1 in) value(cblack fcentb height0.13 in) major(cblack H0.09 width2) minor(cblack H0.05 width2 n1) label(cblack H0.12 in fcentb a90 Percent) Chart is placed in the graphics catalog proc gchart datachi2 goutMyCat vbar x typepercent levels10 number of levels for numeric variable x raxis axis2 axis for the res ponse (vertical) maxis axis1 midpoint axis (horizontal) run quit axis2 length 6.0 in origin(1 in, 1.00 in) width2 value(cblack fcentb height0.13 in) major(cblack H0.09 width2) minor(cblack H0.05 width2 n1) label(cblack H0.12 in fcentb a90 Cumulative Sales in Thsd ) axis1 length 6.0 in origin(1 in, 1.00 in) width2 order (1996, 1997, 1998) value(cblack fcentb height0.13 in) label(cblack H0.12 in fcentb Calendar Year) legend2 across1 frame position(top right inside) mode share value (fcentb h0.1 in cblack Michigan Ohio Virginia Wisconsin) label (fcentb h0.15 in cblack State:) Turn the displaying of graphs back on goptions display Run PROC GREPLAY. First define a template for placing four graphs onto a page. The four sections are defined in terms of their corner coordinates. The lower left corner of the page has coordinate (0,0). LLX refers to the lower left x coordinate of a panel, URY to the upper right Y coordinate and so forth proc greplay igoutMyCat tctempcat nofs TDef Four DesFour plots and a caption 1LLX0 LLY50 ULX0 ULY100 URX50 URY100 LRX50 LRY50 2LLX50 LLY50 ULX50 ULY100 URX100 URY100 LRX100 LRY50 3LLX0 LLY0 ULX0 ULY50 URX50 URY50 LRX50 LRY0 4LLX50 LLY0 ULX50 ULY50 URX100 URY50 LRX100 LRY0 replay the graphs in the template. Notice that the first plot, chart, etc. is referenced as Gplot, Gchart and so forth. Gplot1 is the second graph in the catalog produced by PROC GPLOT. The TREPLAY statment puts the first plot in the first panel the first chart in the third panel and so forth. TemplateFour Treplay 1:Gplot 2:Gplot1 3:Gchart 4:GChart1 quit (quality of gif not even close to printed quality) The content of this web site should not be construed as an endorsement of any particular web site, book, or software product by the University of California.
No comments:
Post a Comment