Es un equipo muy pequeño el que trabaja en esto. Es una batalla contra el hecho de que solo hay 24 horas en un día. Pero espero que podamos avanzar rápidamente en esto. Gracias por mencionarlo. ¿Cómo están todos? ¿Cómo nos sentimos? Desearía poder ver a todos, pero no puedo, pero espero que todos hayan tenido un poco más de tiempo para jugar con los ejercicios aquí, y experimentar con algunas tramas.
¿Por qué no repasamos para recapitular lo que hicimos en este ejercicio? Por favor, a medida que surjan preguntas, por favor, por favor, por favor, escríbanlas en el chat o desactiven el silencio y pregunten. Creo que ahora puedo escuchar a todos, así que podré escuchar eso. Comenzamos con algunos data que ya estaba preparado para nosotros, lo cual es agradable, y básicamente tenía una serie de trabajos, una serie de nombres de trabajos y luego una serie de ejecuciones de esos trabajos. Comenzamos con esta trama básica que no es muy útil, no nos brinda mucha información y luego la desglosamos.
Lo que vemos aquí es una forma de crear una trama. En el próximo ejercicio veremos una sintaxis ligeramente diferente que también podemos usar. Pero en esencia, como espero que hayamos descubierto a través de este ejercicio, Plot opera de manera muy declarativa, similar a Vega, Vega-Lite si lo has usado, donde simplemente decimos cómo queremos que se vea nuestro gráfico, y luego Plot se encarga de hacerlo realidad. Lo más importante es tener al menos una marca, así que tenemos este array de marcas donde también podemos crear diferentes tipos de marcas y superponerlas, y así sucesivamente, y puedes leer más en la documentación de Plot sobre los diferentes tipos de marcas. Pero lo que tenemos aquí es una marca de celda, que son estos pequeños rectángulos, donde obtenemos un rectángulo para cada elemento en los data, o para cada valor en los data, debería decir.
Aquí estamos pasando primero los data, así que ese es nuestro data de pruebas de trabajos. Luego pasamos un objeto de opciones a la marca que le dice qué canales queremos expresar qué propiedades de los data. Aquí estamos expresando el número de ejecución, que es básicamente como la acción de GitHub que se ejecutó en el eje x, por lo tanto, horizontalmente, y luego los nombres en el eje y. Tenemos algunas opciones de configuración que son básicamente solo para el formato y cosas así. Espero que hayas tenido la oportunidad de jugar con eso y ver cómo si reduces los márgenes, se cortan las etiquetas y cosas así. Si no, siéntete libre de jugar con eso después. Nada muy emocionante allí. Vamos a pasar rápidamente por eso. Vamos a pasar rápidamente por eso. Pero estos canales son realmente lo importante para trabajar con Plot.
Para cualquier marca que estemos tratando de hacer, tenemos una variedad de canales que podemos usar con eso. Para estas marcas de celda, tenemos los canales X e Y, pero también tenemos canales como el relleno, el color, el sombreado de la celda, y luego la opacidad de ese relleno o el trazo, así que la línea alrededor de él, la opacidad. Luego tenemos ese canal de título, que es un canal de texto especial que nos permite poner valores de texto en tooltips. Pasamos a modificar este gráfico para asignar más data, a más propiedades de los data a más de estos canales para desarrollar un gráfico más interesante. Comenzamos agregando un relleno o tal vez jugaste con algunas de las otras cosas que podrías hacer aquí, pero si agregamos un relleno de conclusión a las opciones de nuestra marca aquí, y si agrego una coma para que rompa el JavaScript, eso ahora va a expresar lo que sea que esté en la columna de conclusión de los data o esa propiedad de conclusión, ya que estos son pequeños objetos JSON, se va a expresar a través del canal de relleno, que utiliza el color para expresar diferentes valores. Y luego, en el próximo ejercicio, veremos cómo los canales utilizan escalas.
Entonces, en este caso, el relleno utiliza la escala de color para configurar cómo se asignan esos valores de data abstractos a esos valores visuales. Y aquí, si tomamos el código de la solución, solo voy a pegarlo aquí. Deberíamos poder ver que con esta escala de color, podemos establecer las propiedades para tomar el dominio de los tres valores diferentes que sabemos que tenemos en nuestros data, éxito, falla y cancelado. Y espero que puedas explorar eso mirando la tabla en la parte superior y viendo cuáles son los diferentes estados de conclusión que ves allí. Y esos van a ser nuestros valores de entrada. Entonces, volviendo a nuestra visualización de escala, ese es el dominio aquí. Entonces, estos son nuestros valores de data, los valores reales en nuestros data. En este caso, no son números, son valores categóricos. Entonces, ahí, es como, solo hay tantas opciones. Solo hay tantas categorías de finalización o estado de conclusión que podemos tener. Entonces, configuramos nuestro dominio con esos valores de data y luego establecemos un rango correspondiente para un valor de color semánticamente significativo para... Eso va a corresponder a cada uno de los valores en nuestro dominio. Entonces, esto va a ser como el borde inferior de nuestro... Esto va a ser el espacio visual al que estamos asignando en nuestra escala aquí. Entonces, configurar esa configuración de escala le dirá a Plot cómo puede asignar esas categorías a los diferentes colores. Y una vez que hagamos eso, veremos colores más significativos, y así sucesivamente. Luego usamos la opacidad para expresar la cantidad de minutos que le llevó a cada trabajo completarse. Entonces, esa es nuestra duración. Nuestra duración aquí se llama minutos y eso nos mostrará... Entonces, la escala de opacidad está convirtiendo una duración más larga en minutos en un rectángulo más oscuro, un valor de opacidad más alto entre cero y uno. Y, Zona? Sí. Sí, perdón por interrumpir. Solo quería preguntarte sobre el color. Supongo que esto puede no ser algo conocido, así que está bien. Entendería si ya estuviera allí. Pero, ¿por qué son dos matrices en lugar de una matriz de objetos que tienen dominio y rango? ¿Por qué la API es como dominio, matriz, y luego rango, matriz? Correcto. Porque hace que sea más difícil asignar, hace que sea más difícil editar, ¿verdad? Bueno, escucho totalmente ese comentario. Creo que en algunos casos eso podría ser una cuestión de intentar, esto va a funcionar. Entonces, estamos viendo esto para una variable categórica aquí, básicamente algo que solo tiene tres valores. Y en ese caso, entiendo perfectamente a qué te refieres. Como tal vez tendría más sentido decir que el éxito se asigna al verde, el fracaso se asigna al rojo. Pero imagina que también podemos hacer esto para un valor numérico donde tenemos algún número que no sabemos exactamente todos los números que tenemos en nuestro conjunto de data pero van a estar entre cero y 1000, digamos. Y en ese caso, es mucho más fácil especificar estos rangos como un tipo de el dominio y el rango como un valor de inicio y de parada o como un valor entre aquí y aquí tanto para el espacio de data como para el espacio visual en lugar de enumerar cada posible valor que podríamos tener y cómo se va a traducir a otro valor. Sí. Lo siento, lo siento, me perdí un poco en el hecho de que dijiste que puedes simplemente decir como valor mínimo para especificar un rango. ¿Puedes mostrarnos eso? Sí, ese será un ejemplo en nuestro próximo ejercicio. Entonces, si tal vez podemos volver a eso en un momento, vamos a ver, vas a tener la oportunidad de jugar con variables numéricas y el dominio y rango allí si eso tiene sentido. En este caso, es más bien un data categórico, por lo que no tenemos un ejemplo muy sólido en este conjunto de data para eso, pero sí, eso se aclarará cuando comencemos a ver como gráficos de dispersión, puntos en un eje X e Y. Esa es una buena pregunta.
Comments