terça-feira, 23 de dezembro de 2014

Matlab - Handle Graphics [parte 2]


PROPRIEDADES PRINCIPAIS:

     Nesta seção, são apresentadas as principais propriedades de alguns dos objetos gráficos Matlab. Como poderá concluir facilmente pelos exemplos seguites, a utilização de referências permite a manipulação de propriedades que, em variadíssimas situações, se revelam de extrema importância para a obtenção de gráficos intuitivos e esclarecedores.




OBJETO FIGURE:


     Dado o grande número de propriedades configuráveis do objeto figure, centramos o nosso estudo em apenas um subconjunto dessas propriedades, apresentado e explicado na listagem seguinte:

  • Color – Controla a cor de fundo de um figura. A cor pode ser especificada através de um vetor de três elementos RGB ou através de um dos nomes de cores predefinidos pelo Matlab
  •  HitTest – define se o objeto figure se pode tornar o objeto corrente;
  • Name e NumberTitle – quando a propriedade NumberTitle é especificada com o valor on, define que o título da figura, especificada pela propriedade Name, é precedido pelo número, ou seja, Figure <número da figura> : <título>. Quando a propriedade NumberTitle é especificada com o valor off, o título deixa de estar precedido pelo número da figura.
  • Pointer – especifica o símbolo usado pelo cursor que indica a posição na figura;
  • Toolbar – controla a presença da barra de ferramentas da figura. Quando configurada com o valor ‘none’, a figura não mostra a tollbar, ao contrário do que acontece com o valor figure. Quando configurada com o valor ‘auto’, mostra a toolbar, removendo-a no caso de ser adicionado à figura um objeto UIControl.    
         O exemplo seguinte ilustra algumas das propriedades estudadas, utilizando uma figura com um gráfico que representa as temperaturas médias de um dado ano. O primeiro comando de alteração das propriedades do fráfico, set(figh,Name, ‘Temperaturas médias’), deine o título da figura. O segundo comando define que tal título não deverá ser precedido pelo numero da figura. O terceiro comando define que a figura deverá ser apresentada sem toolbar:
 %Dados do Gráfico  
 meses = 1:12;  
 temp = [7 8 10 12 16 18 22 27 19 15 8 5];  
 %Referências  
 figh = figure;  
 linh = plot(meses, temp);  
 grph = gca;  
 %Titulo  
 set(figh, 'Name', 'Temperaturas médias');  
 %Numero da figura  
 set(figh, 'NumberTitle', 'off');  
 %Toolbar  
 set(figh, 'Toolbar', 'figure');  

     

   OBJETO AXES:

        A listagem seguinte sumariza algumas das propriedades do objeto axes:
       ·         FontName, FontSize, FontAngle, FontUnit e FontWeigth – as propriedades FontName e FontSize especificam o tipo e tamanho da fonte, respectivamente. A propriedade FontAngle permite a seleção de três efeitos. As opções oblique e italic especificam fontes itálicas, ao invés da opção normal. A propriedade FontUnit determina o tipo de unidade utilizado pela propriedade FontSize, permitindo optar entre points, normalized, inches, centimeters e pixels, sendo points o valor por omissão. Através da propriedade FontWeigth, é possivel definir o estilo de texto entre as opções normal, bold, light e demi;
  •          GridLineStyle – define o estilo das linhas de uma grelha. Existem cinco valores possíveis: ‘-‘(solid), ‘—‘ (dashed), ‘:’ (dotted), ‘-.’ (dash-dot) e none, sendo a opção dotted o valor por omissão;
     ·             LineWidth – especifica o tamanho (em pontos) das linhas dos eixos;
·         XLim, YLim e ZLim – vetores com dois elementos, [min, max], que definem os limites mínimo e máximo dos eixos x, y e z, respectivamente;
  •           Color – triplo RGB que define a cor dos eixos;

  •         XTick, YTick e ZTick – vetor que define a localização das marcas ao longo dos eixos x, y e z, respectivamente.

  •          XTickLabel, YTickLabel e ZTickLabel – matriz de strings que define as etiquetas das marcas a usar ao longo dos eixos x, y e z, respectivamente;

              O exemplo a seguir parte do conjunto de dados do exemplo anterior, acrescentando algumas definições de propriedades dos eixos, em particular: a definição de grelhas e estilo das suas linhas, através de XGrid, YGrid e GridLineStyle; o limite dos eixos através de XLim e YLim; e o tamanho de dois pontos para as linhas dos eixos, através de LineWidth. Através da opção Color, definem-se eixos de cor prete. As opções XTick e XTickLabel definem as marcas a usar nos eixos, resultando ma identificação dos diferentes meses a que corresponde cada par de valores de dados do gráfico. Por ultimo, define-se o posicionamento dos eixos através da propriedade Position. Num primeiro comando, é inspecionada a posição. Position = get(grph, ‘Position’). Da execução deste comando resulta o vetor position de quatro elementos. A multiplicação de 0.9 pelo quarto elemento do vetor position define que a largur dos eixos deverá passar a ser 90% do valor original.


 %------------------------------------------Exemplo2  
 %Axes   
 set(grph, 'XGrid', 'on'); set(grph, 'Ygrid', 'on');  
 set(grph, 'GridLineStyle', '-.');  
 set(grph, 'XLim', [1 12]); set(grph, 'YLim', [0 40]);  
 set(grph, 'LineWidth', 2.0);  
 set(grph, 'Color', [1 1 1]); set(grph, 'YColor', [0 0 0]);  
 set(grph, 'XTick', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])  
 set(grph, 'XTickLabel', {'Jan', 'Fev', 'Mar', 'Abr', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'})  
 pos = get(grph, 'Position'); pos(4) = 0.9*pos(4);  
 set(grph, 'Position', pos)  

     

    OBJETO TEXT:

         O objeto text é um objeto classificado como core object. A listagem a seguir mostra algumas das suas propriedades configuráveis, nomeadamente:
      
·         FontName, FontSize, FontAngle, FontUnit e FontWeigth – este conjuntp de propriedades apresenta o mesmo significado que se verificou para o objeto axes. As fontes de texto disponíveis dependem do sistema operativo. Poderá verificar quais as fontes que seu sistema apresenta através do comando uisetfont.

·         HitTest – define se o objeto text se pode tornar o objeto corrente;

·         String – permite definir o texto do objeto;



         O código seguinte configura, no gráfico que temos vindo a utilizar como exemplo, algumas das propriedades estudadas. É acrescentado um título de fonte Bold e Italic. Aos eixos x e y é acrescentado o seu significado, através das respectivas etiquetas, Mês e Temperatura, em estilo Bold e fonte Times:





 %------------------------------------------Exemplo 3  
 %Título  
 tith = get(grph, 'Title'); set(tith , 'String', 'Temperatura Médias');  
 set(tith, 'FontAngle', 'Italic');  
 %Eixo X  
 xlbh = get(grph, 'Xlabel');  
 set(xlbh, 'String', 'Mês');  
 set(xlbh, 'FontName', 'Times');  
 %Eixo Y  
 ylbh = get(grph, 'Ylabel');  
 set(ylbh, 'String', 'Temperaturas (ºC)');  
 set(ylbh, 'FontName', 'Times');  



OBJETO LINE:
     O objeto line é mais um dos objetos classificados como core object, que é descendente de axes. Este objeto apresenta, entre muitas outras, as seguintes propriedades:

  •      Color – especifica a cor da linha através de um triplo RGB ou de uma das cores predefinidas pelo Matlab;

  •         HitTest – define se o objeto se pode tornar objeto corrente;

  •       Marker – define o símbolo a utilizar para as marcas;
  •       MarkerEdgeColor, MakerfaceColor e MakerSize – definem a cor e o tamanho das marcas;

  •       LineStyle e LineWidth – definem o estilo e a espessura da linha;

           No código seguinte, são configuradas algumas propriedades de um objeto line. A referência do objeto line é linh, retornada pela função plot. É definida a cor [1 0.5 0.5]mpara as linhas e [1 0 0] para as marcas. Define-se também o símbolo quadrado para as marcas:

 %-----------------------------------------Exemplo 4  
 set(linh, 'Linewidth', 2.0); set(linh, 'Color', [1 0 0]);  
 set(linh, 'Marker', 's'); set(linh, 'MarkerEdgeColor', 'Blue');  

OBJETO ANNOTATION:
     O objeto textbox é um dos objetos do tipo annotation, que define basicamente uma caixa de texto. A listagem seguinte mostra algumas das suas propriedades:

  • ·         LineStyle e LineWidth – definem o estilo e a espessura das linhas da caixa de texto;
  • ·         String – especifica o texto a apresentar na caixa de texto;
  • ·         FaceAlpha – define o grau de transferência do fundo da caixa de texto. O valor da propriedade varia entre 0 (transparente) e 1 (opaco);
  • ·         FontName, FontSize, FontAngle e FontWeigth  - conjunto de propriedades que define o tipo, o tamanho e o estilo de letra do texto;
  • ·         HorizontalAlignment e VerticalAlignment – definem o alinhamento horizontal e vertical do texto dentro do objetomtextbox;
  • ·         Interpreter – controla se o matlab interpreta os caracteres TeX presentes na propriedade String;


O exemplo seguinte ilustra a configuração de algumas destas propriedades. A caixa de texto criada é caracterizada por posição, definida pelo argumento [0.005 0.9 0.1 0.1]. que contém o texto “Ano 2001”, alinhado verticalmente ao centro:

 %-----------------------------------------Exemplo 5  
 boxh = annotation('textbox', [0.005 0.9 0.1 0.1]);  
 set(boxh, 'string', 'Ano 2001', 'VerticalAlignment', 'middle');  


Nenhum comentário:

Postar um comentário