Gráficos

A barra de ferramentas que todo gráfico carrega e o que cada botão faz, os painéis de escala, de estatísticas e de linhas de referência, a janela de gráfico destacada, onde os gráficos aparecem no aplicativo, e o motor único por trás de todos eles.

Ver como Markdown

Todo gráfico do aplicativo é desenhado por um motor só (ECharts) através de uma vista de gráfico só, seja qual for o que o colocou na tela: os componentes Gráfico de linhas, Gráfico de barras e Gráfico de pizza num dashboard, o cartão de canais de um painel de unidade, o gráfico ao vivo de uma execução na página do Process, o gráfico de datalog de uma execução gravada nos Históricos, a prévia do perfil de uma receita ou de um procedimento, a prévia do critério de uma avaliação, e as duas janelas destacadas abaixo. O que muda entre eles é de onde vem a configuração, nunca o desenho: uma lacuna nos dados é sempre um buraco na linha, nunca uma ponte, e todo número e todo instante que o gráfico escreve segue o idioma e os formatos da própria estação. O relatório em PDF desenha a mesma coisa sem nenhuma das ferramentas desta página.

A barra de ferramentas

Um gráfico carrega uma fileira de botões sobre o subgráfico: a mesma barra em todo lugar, avisada por gráfico de quais botões desenhar. Num componente de dashboard essa lista é a seção Caixa de ferramentas das propriedades dele (O editor de dashboard); uma superfície sem ninguém a quem perguntar (uma execução gravada, a prévia de uma receita) oferece toda ferramenta que um gráfico de tempo consegue honrar. Sem ferramenta nenhuma, nenhuma barra de ferramentas é desenhada.

Botão (a dica dele) O que ele faz Oferecido em Ligado por padrão numa tela
Abrir em outra janela Abre o mesmo gráfico numa janela própria (veja abaixo). Só onde o gráfico tem um endereço próprio: uma execução gravada nos Históricos, o perfil de uma receita. Nunca num gráfico colocado numa tela. Execuções gravadas, perfis de receita não é oferecido
Selecionar uma área para ampliar Arma a ampliação por caixa: o arrasto seguinte sobre o subgráfico enquadra a caixa que ele desenha, em vez de deslocar. O botão fica aceso enquanto está armado. Gráficos de tempo sim
Restaurar a ampliação Devolve a janela a tudo o que está desenhado. Gráficos de tempo sim
Ajustar a escala à mão Abre o painel de escala, abaixo. Fica aceso enquanto algo está fixado, então uma escala que deixou de acompanhar os dados diz isso sem precisar ser aberta. Gráficos de tempo não
Mínimo, média e máximo da janela mostrada Abre o painel de estatísticas, abaixo. Medido só enquanto o painel está aberto. Gráficos de tempo não
Desenhar uma linha de referência Abre o painel de linhas de referência, abaixo. Fica aceso enquanto alguma linha está desenhada. Gráficos de tempo não
Salvar PNG Baixa o desenho como PNG no dobro da resolução da tela, sobre o fundo do tema, com o nome do título do gráfico ("chart" quando ele não tem título). Todos os gráficos sim
Copiar PNG Põe o mesmo PNG na área de transferência. O feed de ações responde "O gráfico foi copiado como imagem."; quando o navegador recusa a escrita ele diz "O navegador recusou a área de transferência, então o gráfico não foi copiado.", e quando ele não tem área de transferência nenhuma "Este navegador não oferece área de transferência, então o gráfico não foi copiado." Todos os gráficos sim
Mostrar ou esconder séries Abre uma lista das séries desenhadas com uma caixa de seleção cada, lida direto do gráfico; desmarcar esconde uma série enquanto a tela ficar aberta. "Nenhuma série" quando nada está desenhado. Gráficos de tempo sim
A dica de valor está desligada / A dica de valor está ligada Liga ou desliga a leitura ao passar o cursor. Ela abre desligada, para que uma mão cruzando o subgráfico nunca o cubra com uma caixa que ninguém pediu; a escolha dura a sessão. Gráficos de tempo sim
Tela cheia Preenche a janela com este gráfico só, pela tela cheia de elemento do navegador; pressionar de novo, ou o Esc, devolve a janela. Num dashboard já em tela cheia ele expande o gráfico, e o Esc sai do gráfico antes de sair do dashboard. Todos os gráficos sim

Um gráfico de barras ou de pizza consegue honrar só o par de PNG e a tela cheia: uma comparação lida neste instante não tem eixo a percorrer, não tem janela a medir e não tem onde assentar uma linha. Um gráfico de linhas cuja Navegação está em janela fixa não recebe nem Selecionar uma área para ampliar nem Restaurar a ampliação, marcados ou não: uma janela que nada move não tem ampliação a que eles respondam, e os dois voltam quando a janela volta a se mover. Só um painel fica aberto de cada vez, e um toque em qualquer outro lugar o fecha. Num gráfico baixo demais para um painel, o painel termina dentro do gráfico e rola o que não cabe nele, e num gráfico estreito os botões que atravessam o formulário de um painel (Carregar a janela mostrada, Desenhar a linha) quebram a linha em vez de passar da borda.

Ampliar e deslocar são a configuração de Navegação do gráfico (uma janela fixa, roda e arrasto, ou roda e arrasto mais uma barra de navegação sob o subgráfico mostrando onde a janela fica dentro da gravação inteira); um gráfico com subgráficos empilhados move todos juntos, porque eles dividem um eixo de tempo só. Um gesto nunca toca no que está guardado: o gráfico desenha o que chega ao canvas vindo da faixa visível, então ampliar sempre revela os dados de verdade, e uma marca no canto pode dizer se a figura é a medição ou uma redução dela (Gráfico de linhas).

Ajustar a escala à mão

O painel fixa um período do eixo de tempo e uma faixa do eixo de valor, cada lado de forma independente. Todo campo confirma quando você sai dele; um campo vazio é um lado deixado livre, ainda se ajustando sozinho.

Campo O que ele aceita
Período / Período (s a partir de agora) / Amostras As duas pontas do eixo de tempo, pedidas nas palavras em que o eixo é desenhado: dois seletores de data e hora num eixo de relógio, dois números de segundos num eixo relativo, duas contagens de amostras num eixo de amostras.
Eixo de valor, mínimo e máximo As pontas do eixo de valor do próprio gráfico. Num gráfico com subgráficos empilhados esta é só a régua do subgráfico de cima; o período de tempo move todos juntos.
Automático (um por eixo) Devolve aquele eixo à janela que o gráfico montou: uma janela móvel volta a se mover, um eixo escrito com pontas fixas volta a elas, um escrito sem nenhuma volta ao ajuste livre dele. Esmaecido enquanto nada está fixado naquele eixo.
Carregar a janela mostrada Preenche os quatro campos com a janela que está mesmo na tela, depois de todo zoom e deslocamento que você fez, então fixar o que você está olhando custa um toque.

A fixação pertence a este gráfico nesta conexão: ela nunca é salva com a tela, outro navegador olhando o mesmo gráfico tem a dele, e fechar a tela a solta. Uma janela fixada que não contém nenhuma das amostras ainda assim desenha, e diz isso sob o subgráfico: "Nada foi medido dentro da escala que você fixou."

Mínimo, média e máximo

O painel é uma tabela com uma linha por série desenhada (uma série que o autor da tela desligou não está na tela e não está na tabela; uma escondida pela legenda continua nela), colorida com a tinta dela, com Mínimo, Média e Máximo sobre as amostras dentro da janela mostrada, escritos do jeito que a estação escreve números. A linha acima da tabela diz qual janela é essa: "A janela mostrada, até a amostra mais nova." ou "A janela mostrada. A amostra mais nova está além da borda direita dela." quando você caminhou para trás no histórico. A dica de uma linha diz quantas das amostras da janela eram leituras; uma lacuna conta como uma amostra que a janela guardou e como nada nos três números, então nenhuma média é tirada por cima de um buraco. Uma linha sem nada a ler escreve lacunas e diz qual silêncio é: "Nada desta série foi amostrado na janela mostrada." ou "Toda amostra desta série na janela mostrada é uma lacuna." Os números acompanham os dados ao vivo enquanto o painel está aberto e são medidos sobre as próprias amostras, nunca sobre o desenho reduzido.

Linhas de referência

Uma linha de referência é uma linha num valor, atravessando o subgráfico, ou num instante, descendo por ele, com palavras dizendo por que ela está ali e uma cor para distingui-la da próxima. O painel lista o que está desenhado, cada linha com o ✕ dela, e Remover todas; sob a lista, um formulário pequeno desenha a próxima:

Campo O que ele aceita
Qual eixo Em um valor, ou o eixo de tempo nas palavras dele: Em um instante (um seletor de data e hora), Em um segundo (a partir de agora) ou Em uma amostra. Trocar o eixo esvazia a posição, já que um valor e um instante não são o mesmo número.
Onde a linha vai A posição naquele eixo. Desenhar a linha fica esmaecido até haver uma.
O que a linha diz Texto opcional desenhado sobre a linha.
A cor da linha Um seletor de cor; uma linha começa âmbar.
Desenhar a linha Desenha a linha. A posição e o texto se esvaziam para a linha seguinte; o eixo e a cor ficam.

As linhas pertencem ao gráfico à sua frente e a mais nada: elas não são salvas, o autor da tela nunca fica sabendo, outra conexão não as vê, e fechar a tela as encerra. Uma anotação que precisa durar mais que o olhar pertence a uma execução, onde o arquivo da própria execução a registra (Execuções e comentários).

A janela de gráfico destacada

Abrir em outra janela abre a rota do próprio gráfico numa janela nova: uma janela de verdade do aplicativo na estação, uma aba nova num navegador remoto. Pressionar de novo traz a janela existente para a frente, em vez de abrir uma segunda. Existem duas rotas:

Rota O que ela mostra Aberta de
/chart/run/{id} O gráfico de datalog de uma execução gravada, relido do arquivo da execução: as séries, as anotações, os comentários e as faixas aprovadas do procedimento dela como estão configuradas agora. "Execução não encontrada" quando o id não resolve para nada. O gráfico de uma execução nos Históricos
/chart/recipe/{id} O perfil de Degrau, Rampa e Patamar de uma receita, remontado a partir dos modelos salvos. "Receita não encontrada" quando o id não resolve para nada. O editor de receitas e a prévia de receita de um procedimento

A janela desenha sem o shell: sem trilho, sem barra de título, sem barra de status, só uma barra no topo com o título do gráfico e Sincronizar o X com o gráfico principal ("Espelhar a ampliação e o deslocamento do eixo X com o gráfico principal"), ligada por padrão, sobre o gráfico com a barra de ferramentas inteira dele. Enquanto a sincronia está ligada a janela entra num canal identificado pela rota dela e acompanha o zoom e o deslocamento do gráfico principal no eixo de tempo; desligada, ela navega sozinha. Cada rota exige o que admite uma identidade ao que ela desenha: a janela de uma execução pede Ver históricos, a mesma permissão que admite o navegador de execuções gravadas de onde ela é aberta, e a janela de uma receita pede a política da própria página do Process, que qualquer uma das quatro chaves do Process ou Ver históricos abre. Um papel sem o que a rota dele pede, ou um rebaixado com a janela aberta, não consegue ler aquele gráfico pelo endereço. A janela é somente leitura: os comentários e as anotações são editados nos Históricos, não aqui.

O que as ferramentas não fazem

Nada na barra de ferramentas muda a tela: uma série escondida, uma fixação, uma linha e o estado da dica de valor são todos estado deste gráfico nesta conexão, e uma tela reaberta amanhã abre limpa. Nada na barra chega a um relatório: o PDF desenha o que o produtor dele monta, sem fixações, sem linhas e sem ferramentas. A barra não exporta dado nenhum, só figuras: os números de uma execução saem pelas exportações dos Históricos. E a barra não oferece ferramenta que o desenho não consiga honrar: uma comparação de categorias nunca ganha zoom, escala, estatísticas ou linhas, um gráfico de linhas preso numa janela fixa nunca ganha os dois botões de ampliação, e um gráfico numa tela nunca ganha uma janela própria.