Cuando se trate de gráficos y diagramas, es muy probable que tengamos que rellenar colores en un gráfico para resaltar un área o distinguirla de otras formas. Es posible que sepa cómo sombrear formas regulares, pero ¿qué pasa con polígonos irregulares y contornos ? Puede hacer esto fácilmente para cualquier forma gráfica usando Polígono (). ¡Sólo necesitamos los puntos de datos!

Arriba hay un gráfico en el que estaba trabajando para la predicción de reclutamiento de pacientes (busque una publicación en el blog sobre esto pronto). Las líneas de guión-punto son 2.5 th y 97.5 th percentiles de 10.000 simulaciones. La línea roja continua es la media de los valores simulados. Completar este intervalo de confianza con el color ayudaría a las personas a comprender el alcance de la predicción de inscripción, por lo que exploré cómo hacerlo. Al principio, especifiqué los tres vértices del triángulo y obtuve esto:

Hmm ... no es exactamente lo que esperaba. ¿Cuál es el problema? Al parecer, este gráfico no es exactamente un triángulo, aunque seguramente se parece a uno. La parte inferior es más ancha y, por lo tanto, el sombreado triangular no podría cubrir toda la banda del intervalo de confianza. como podemos arreglar esto?
Para rellenar un gráfico con color, primero debe conocer el límite de su forma y los puntos de datos que forman el límite. En este caso, mis límites son tres lados del "triángulo" y los puntos de datos son los 2.5 th percentiles y 97.5 th percentiles Tenga en cuenta que no necesito el tercer lado, el segmento de línea horizontal, porque una vez que construyo los dos lados, JMP Conecta automáticamente los dos puntos finales con una línea recta. Pero si tiene un segmento que no es directo, necesitaría puntos de datos para indicar a JMP dónde se detiene el sombreado.
A continuación, en JSL, extraemos los puntos de datos del conjunto de datos, guardamos los datos en columnas y los ordenamos.
ds = Data Table( "graphbuilder" );
ds << seleccione where (: data == "Predicted 2.5%");
dslow = ds << subconjunto (
Nombre de la tabla de salida ("Percentil inferior"),
Filas seleccionadas (1),
invisible
);
dslow_sort = dslow << sort (By (: time), Order (Ascending));
ds << seleccione where (: data == "Predicted 97.5%");
dsupp = ds << subconjunto (
Nombre de la tabla de salida ("Percentil superior"),
Filas seleccionadas (1),
invisible
);
dsupp_sort = dsupp << sort (By (: time), Order (Descending));
Los dos subconjuntos, dslow y dsupp, contienen puntos de datos de nuestro límite, las dos líneas de puntos y guiones. Tenga en cuenta que ordené dslow por orden ascendente pero dsupp por orden descendente ya que JMP dibuja el límite con dirección. Elegí dibujar la banda CI en el sentido de las agujas del reloj: comenzando desde el punto de intersección de la línea azul y las líneas rojas, yendo después de la 2.5. th percentil, y volviendo siguiendo el 97.5. th percentil desde el lado horizontal. Así, los puntos de datos del 97.5. th percentil necesita estar en orden descendente.
Ahora que hemos ordenado los puntos de datos, debemos agruparlos en una matriz llamada "todos". Los valores de x en la matriz son "xall" y los valores de y en la matriz son "yall". Aquí, el tiempo es mi eje x y el número es mi eje y.
Col1 = Column( dslow_sort, "time" );
tl = col << GetAsMatrix;
Col1 = Columna (dslow_sort, "número");
nl = col << GetAsMatrix;
Col2 = Columna (dsupp_sort, "tiempo");
tu = col << GetAsMatrix;
col2 = Columna (dsupp_sort, "número");
nu = col << GetAsMatrix;
inferior = tl || nl
superior = tu || nu;
all = lower | / upper;
xall = todos [0,1];
yall = todos [0,2];
Pen Color( "red" );
Color de relleno ("rojo");
Transparencia (0.2);
Polígono (xall, yall);

El paso final es fácil: llame a la matriz en Polígono () y complete el color. Use el código del segundo cuadro de arriba en su declaración del Generador de gráficos o en una nueva ventana. ¡Ahora debería tener una banda triangular perfectamente sombreada en rojo con cierto grado de transparencia!
Pensamientos finales : Puede rellenar cualquier forma de área con color siempre que tenga los puntos de datos. A continuación se muestra otro ejemplo de sombreado de script gráfico, que muestra solo una de las muchas variaciones que puede crear al cambiar las opciones.

Diviértete sombreado!