Quando una colonna con immagini è impostata come un'etichetta, passando sopra un punto dati in un grafico mostra il resp. Immagine. È possibile farlo per più immagini (in colonne diverse)? Impostando più colonne come etichetta non funziona, viene mostrata solo l'immagine della prima colonna.
Sebbene questa non sia la soluzione completa e avrà bisogno di un po 'di lavoro per soddisfare le tue esigenze, Julia Gong ha realizzato una sceneggiatura per combinare le immagini che potrebbero essere utilizzate https://community.jmp.com/t5/JMP-Scripts/Banner-fying-Images/ta-p/23899
//open desired images to "blend" in order; here they are "image1" and "image2"
image1 = open("C:\Users\YOUR_NAME\Documents\YOUR_IMAGE.jpg", jpg);
image2 = open("C:\Users\YOUR_NAME\Documents\YOUR_OTHER_IMAGE.jpg", jpg);
//banner = open("C:\Users\jugong\Documents\Images\Banner.jpg", jpg); //template with correct W:H ratio
//retrieve dimensions of each picture
//{banCols, banRows} = banner << getSize();
banCols = 1400; banRows = 425; //correct dimensions; use other template if 1400x425 not desired
{image2Cols, image2Rows} = image2 << getSize();
{image1Cols, image1Rows} = image1 << getSize();
//determine the necessary H and W of resulting image (as big as possible)
image2ColsScaled = Floor(image2Cols / (banCols * 0.55)) * banCols;
image1ColsScaled = Floor(image1Cols / (banCols * 0.55)) * banCols;
image2RowsScaled = Floor(image2Rows / banRows) * banRows;
image1RowsScaled = Floor(image1Rows / banRows) * banRows;
width = min(image2ColsScaled, image1ColsScaled);
height = Round((banRows / banCols) * width);
//crop images (truncate, not resize)
image2A = newImage(image2);
image2A << crop(left(1), right(Round(width * 0.55)), top(0), bottom(height));
image1A = newImage(image1);
image1A << crop(left(1), right(Round(width * 0.55)), top(0), bottom(height));
{image2Cols, image2Rows} = image2A << getSize();
//new window(" ", image2A);
//retrieve r, g, b, matrices for original images
{r, g, b} = image2A << getPixels("rgb");
{r2, g2, b2} = image1A << getPixels("rgb");
//create matrices for new banner image
matR = J(height, width, 0);
matG = J(height, width, 0);
matB = J(height, width, 0);
matA = J(height, width, 1);
//position the two images in the new banner
//first image placed
for(i = 1, i <= height, i++,
for(j = 1, j <= image2Cols, j++,
matR[i, j] = r2[i, j];
matG[i, j] = g2[i, j];
matB[i, j] = b2[i, j];
);
);
//second image placed
for(i = 1, i <= height, i++,
for(j = image2Cols, j >= 1, j--,
matR[i, (j + (width - image2Cols))] = r[i, j];
matG[i, (j + (width - image2Cols))] = g[i, j];
matB[i, (j + (width - image2Cols))] = b[i, j];
);
);
//left side blending
for(i = 1, i <= height, i++,
for(j = 1, j <= width / 2, j++,
matA[i, j] = 1 - (j / width) * 2.2;
);
);
//right side blending
missed = 0;
for(i = 1, i <= height, i++,
index = 1;
for(j = width, j >= width / 2, j--,
matA[i, j] = 1 - (index / width) * 2.2;
index++;
if(matA[i, j] > 0.904, missed++;);
);
);
missed /= height;
//blending the middle
for(i = 1, i <= height, i++,
for(j = width / 2 - missed, j <= width / 2 + missed, j++,
matA[i, j] = 0.003;
);
);
//create new image and save to directory (if desired)
img = newImage("rgba", {matR, matG, matB, matA});
new window("LinkedIn Banner", img);
//img << saveImage("C:\Users\YOUR_NAME\Documents\YOUR_BANNER_NAME.png", png); //make sure to use png!
Aggiungerò che penso che dovresti aggiungere questo suggerimento alla Wish List di JMP per aggiungere una versione futura
Puoi sempre provare ad aggiungere le immagini in un'unica colonna. Probabilmente ci vorrebbe un po 'di lavoro, ma potrebbe certamente essere copiato. Non sono un esperto nella gestione delle immagini negli script, ma sono certo che sia fattibile.