# Gráficos

> La barra de herramientas que lleva todo gráfico y qué hace cada botón, los paneles de escala, de estadísticas y de líneas de referencia, la ventana de gráfico desprendida, dónde aparecen los gráficos en la aplicación, y el único motor que hay detrás de todos.

Todos los gráficos de la aplicación los dibuja un solo motor (ECharts) a través de una sola
vista de gráfico, sea lo que sea lo que los puso en pantalla: los componentes
[Gráfico de líneas](component-line-chart), [Gráfico de barras](component-bar-chart) y
[Gráfico circular](component-pie-chart) de un panel de control, la tarjeta Canales de un
[panel de unidad](view-unit-panels), el gráfico en vivo de una corrida en la página Process, el gráfico
de datalog de una corrida grabada en [Históricos](histories), la vista previa del perfil de una
receta en una [receta](process-recipes) o en un procedimiento, la vista previa de criterio de
una [evaluación](process-evaluations), y las dos ventanas desprendidas de más abajo. Lo que
cambia entre ellos es de dónde viene la configuración, nunca el dibujo: un hueco en los datos
siempre es un hueco en la línea, nunca un puente, y cada número y cada instante que escribe el
gráfico siguen el propio [idioma y formatos](settings-localization) de la estación. El reporte
en PDF dibuja lo mismo sin ninguna de las herramientas de esta página.

## La barra de herramientas {#the-toolbar}

Un gráfico lleva una fila de botones sobre su trazado: la misma barra en todas partes, a la que
se le dice por gráfico qué botones dibujar. En un componente de panel de control, esa lista es
la sección **Caja de herramientas** de sus propiedades
([El editor de paneles de control](view-editor#toolbox)); una superficie sin nadie a quien preguntarle (una corrida
grabada, la vista previa de una receta) ofrece todas las herramientas que un gráfico de tiempo
puede honrar. Sin ninguna herramienta no se dibuja la barra de herramientas.

| Botón (su información emergente) | Qué hace | Se ofrece en | Encendido de forma predeterminada en un sinóptico |
|---|---|---|---|
| Abrir en otra ventana | Abre ese mismo gráfico en una ventana propia (véase más abajo). Solo donde el gráfico tiene una dirección propia: una corrida grabada en Históricos, el perfil de una receta. Nunca en un gráfico colocado sobre un sinóptico. | Corridas grabadas, perfiles de receta | no se ofrece |
| Seleccionar un área para acercar | Arma el acercamiento por caja: el siguiente arrastre sobre el trazado enmarca la caja que dibuja en lugar de desplazar. El botón se queda encendido mientras está armado. | Gráficos de tiempo | sí |
| Restablecer el zoom | Regresa la ventana a todo lo que está trazado. | Gráficos de tiempo | sí |
| Ajustar la escala a mano | Abre el panel de escala de más abajo. Encendido mientras hay algo fijado, así que una escala que dejó de seguir a los datos lo dice sin que haya que abrirlo. | Gráficos de tiempo | no |
| Mínimo, promedio y máximo de la ventana mostrada | Abre el panel de estadísticas de más abajo. Se mide solo mientras el panel está abierto. | Gráficos de tiempo | no |
| Dibujar una línea de referencia | Abre el panel de líneas de referencia de más abajo. Encendido mientras hay alguna línea dibujada. | Gráficos de tiempo | no |
| Guardar PNG | Descarga el dibujo como PNG al doble de la resolución de pantalla, sobre el fondo del tema, con el nombre del título del gráfico ("chart" cuando no tiene ninguno). | Todos los gráficos | sí |
| Copiar PNG | Pone ese mismo PNG en el portapapeles. El registro de acciones responde "El gráfico se copió como imagen."; cuando el navegador rechaza la escritura dice "El navegador rechazó el portapapeles, así que el gráfico no se copió.", y cuando no tiene portapapeles "Este navegador no ofrece portapapeles, así que el gráfico no se copió." | Todos los gráficos | sí |
| Mostrar u ocultar series | Abre una lista de las series trazadas con una casilla cada una, leída directo del gráfico; desmarcar una esconde esa serie mientras el sinóptico siga abierto. "Sin series" cuando no hay nada trazado. | Gráficos de tiempo | sí |
| La información emergente está desactivada / La información emergente está activada | Enciende o apaga la lectura que sale al pasar por encima. Abre apagada, para que una mano que cruza el trazado nunca lo tape con una caja que nadie pidió; la elección dura la sesión. | Gráficos de tiempo | sí |
| Pantalla completa | Llena la ventana con este solo gráfico, por la pantalla completa de elemento del navegador; presionarlo de nuevo, o Esc, regresa la ventana. En un panel de control que ya está a pantalla completa, amplía el gráfico, y Esc sale del gráfico antes de salir del panel de control. | Todos los gráficos | sí |

Un Gráfico de barras o un Gráfico circular solo pueden honrar el par de PNG y Pantalla
completa: una comparación leída en este instante no tiene eje que recorrer, ni ventana que
medir, ni nada sobre lo que tender una línea. Un gráfico de líneas cuya Navegación está en
ventana fija no recibe ni Seleccionar un área para acercar ni Restablecer el zoom, estén
marcados o no: una ventana que nada mueve no tiene zoom al que contestar, y los dos regresan
cuando la ventana vuelve a moverse. Solo hay un panel abierto a la vez, y una pulsación en
cualquier otro lugar lo cierra. En un gráfico demasiado bajo para un panel, el panel termina
dentro del gráfico y se desplaza para mostrar lo que no le cabe, y en un gráfico angosto los
botones que ocupan todo el ancho del formulario de un panel
(**Cargar la ventana mostrada**, **Dibujar la línea**) parten su texto en dos líneas en lugar de
salirse del borde.

Acercar y desplazar son, en sí, el ajuste **Navegación** del gráfico (una ventana fija, rueda y
arrastre, o rueda y arrastre más una barra de navegación bajo el trazado que muestra dónde se
sienta la ventana dentro de toda la grabación); un gráfico con trazados apilados mueve todos los
trazados juntos, porque comparten un solo eje de tiempo. Un gesto nunca toca lo que está
guardado: el gráfico dibuja lo que llega al lienzo desde el rango visible, así que acercarse
siempre revela los datos reales, y una marca de esquina puede decir si la imagen es la medición
o una reducción de ella ([Gráfico de líneas](component-line-chart#fidelity-and-performance)).

## Ajustar la escala a mano {#set-the-scale-by-hand}

El panel fija un periodo del eje de tiempo y un rango del eje de valor, cada lado por su
cuenta. Todos los campos confirman al salir de ellos; un campo vacío es un lado que se deja
libre, que se sigue ajustando solo.

| Campo | Qué admite |
|---|---|
| Periodo / Periodo (s desde ahora) / Muestras | Los dos extremos del eje de tiempo, pedidos con las palabras con las que está dibujado el eje: dos selectores de fecha y hora en un eje de reloj, dos números de segundos en un eje relativo, dos conteos de muestras en un eje de muestras. |
| Eje de valor, mínimo y máximo | Los extremos del propio eje de valor del gráfico. En un gráfico con trazados apilados, esta es la regla del trazado de arriba a solas; el periodo de tiempo mueve todos los trazados juntos. |
| Automático (uno por eje) | Le regresa ese eje a la ventana que construyó el gráfico: una ventana deslizante vuelve a deslizarse, un eje escrito con extremos sostenidos regresa a ellos, y uno escrito sin ninguno regresa a su ajuste libre. Atenuado mientras no hay nada fijado en ese eje. |
| Cargar la ventana mostrada | Llena los cuatro campos con la ventana que de verdad está en pantalla, después de cada acercamiento y de cada desplazamiento que usted hizo, así que fijar lo que está mirando cuesta una pulsación. |

La fijación es de este gráfico en esta conexión: nunca se guarda con el sinóptico, otro
navegador que mira ese mismo gráfico tiene la suya, y cerrar el sinóptico la suelta. Una ventana
fijada que no contiene ninguna de las muestras igual se dibuja, y lo dice bajo el trazado:
"No se midió nada dentro de la escala que fijó."

## Mínimo, promedio y máximo {#minimum-average-and-maximum}

El panel es una tabla con una fila por serie trazada (una serie que el autor del sinóptico
apagó no está en el sinóptico y no está en la tabla; una escondida con la leyenda sí está),
coloreada con su tinta, con **Mínimo**, **Promedio** y **Máximo** sobre las muestras que hay
dentro de la ventana mostrada, escritos como escribe números la estación. La línea que va sobre
la tabla dice cuál es esa ventana: "La ventana mostrada, hasta la muestra más reciente." o "La
ventana mostrada. La muestra más reciente queda más allá de su borde derecho." cuando usted
caminó hacia atrás en el histórico. La información emergente de una fila dice cuántas de las
muestras de la ventana fueron lecturas; un hueco cuenta como una muestra que la ventana tuvo y
como nada en los tres números, así que ningún promedio se saca cruzando un hueco. Una fila que
no tiene nada que leer escribe huecos y dice de qué silencio se trata: "No se muestreó nada de
esta serie en la ventana mostrada." o "Todas las muestras de esta serie en la ventana mostrada
son huecos." Los números siguen a los datos vivos mientras el panel está abierto y se miden
sobre las muestras mismas, nunca sobre el dibujo reducido.

## Líneas de referencia {#reference-lines}

Una línea de referencia es una línea puesta en un valor a lo ancho del trazado, o en un
instante a lo alto, con palabras que dicen por qué está ahí y un color para distinguirla de la
siguiente. El panel enumera lo que está dibujado, cada línea con su ✕, y **Quitar todas**; bajo
la lista, un formulario pequeño dibuja la siguiente:

| Campo | Qué admite |
|---|---|
| Qué eje | **En un valor**, o el eje de tiempo con sus propias palabras: **En un instante** (un selector de fecha y hora), **En un segundo (desde ahora)** o **En una muestra**. Cambiar el eje vacía la posición, porque un valor y un instante no son el mismo número. |
| Dónde va la línea | La posición en ese eje. **Dibujar la línea** queda atenuado hasta que tenga una. |
| Qué dice la línea | Texto opcional dibujado sobre la línea. |
| El color de la línea | Un selector de color; una línea empieza en ámbar. |
| Dibujar la línea | La dibuja. La posición y el texto se vacían para la siguiente línea; el eje y el color se quedan. |

Las líneas son del gráfico que usted tiene enfrente y de nada más: no se guardan, al autor del
sinóptico nunca se le avisa, otra conexión no las ve, y cerrar el sinóptico las termina. Una
anotación que tiene que sobrevivir a la mirada es de una corrida, donde el archivo de la propia
corrida la registra ([Corridas y comentarios](process-runs)).

## La ventana de gráfico desprendida {#the-detached-chart-window}

**Abrir en otra ventana** abre la ruta propia del gráfico en una ventana nueva: una ventana de
verdad de la aplicación en la estación, y una pestaña nueva en un navegador remoto. Presionarlo
otra vez trae al frente la ventana que ya existe en lugar de abrir una segunda. Existen dos
rutas:

| Ruta | Qué muestra | Se abre desde |
|---|---|---|
| `/chart/run/{id}` | El gráfico de datalog de una corrida grabada, releído del archivo de la corrida: sus series, sus anotaciones, sus comentarios y las bandas aprobadas de su procedimiento tal como están configuradas ahora. "Corrida no encontrada" cuando el id no resuelve a nada. | El gráfico de una corrida en [Históricos](histories) |
| `/chart/recipe/{id}` | El perfil de Escalón, Rampa y Meseta de una receta, reconstruido a partir de los modelos guardados. "Receta no encontrada" cuando el id no resuelve a nada. | El editor de recetas y la vista previa de receta de un procedimiento |

La ventana se dibuja sin el shell: sin barra de navegación, sin barra de título, sin barra de
estado, solo con una barra de arriba con el título del gráfico y **Sincronizar X con el
gráfico principal** ("Reflejar la ampliación y el desplazamiento del eje X con el gráfico
principal"), encendido de forma predeterminada, sobre el gráfico con su barra de herramientas
completa. Mientras la sincronización está encendida, la ventana entra a un canal identificado
por su ruta y sigue el acercamiento y el desplazamiento del gráfico principal en el eje de
tiempo; apagada, navega por su cuenta. Cada ruta exige lo que admite a una identidad en lo que
dibuja: la ventana de una corrida exige Ver los históricos, el mismo permiso que admite al
navegador de corridas grabadas desde el que se abre, y la ventana de una receta exige la
política propia de la página Process, que abre cualquiera de los cuatro interruptores de
Process o Ver los históricos. Un rol sin lo que pide su propia ruta, o uno degradado con la
ventana abierta, no puede leer ese gráfico por su dirección. La ventana es de solo lectura:
los comentarios y las anotaciones se editan en Históricos, no aquí.

## Lo que las herramientas no hacen {#what-the-tools-do-not-do}

Nada de la barra de herramientas cambia el sinóptico: una serie escondida, una fijación, una línea y el estado
de la información emergente son todos estado de este gráfico en esta conexión, y un sinóptico
reabierto mañana abre limpio. Nada de la barra llega a un reporte: el PDF dibuja lo que
construye su propio productor, sin fijaciones, sin líneas y sin herramientas. La barra no
exporta datos, solo imágenes: los números de una corrida salen por las exportaciones de
[Históricos](histories). Y la barra no ofrece ninguna herramienta que el dibujo no pueda
honrar: una comparación de categorías nunca recibe acercamiento, escala, estadísticas ni
líneas, un gráfico de líneas sujeto a una ventana fija nunca recibe los dos botones de
acercamiento, y un gráfico sobre un sinóptico nunca recibe una ventana propia.
