Bonjour, j'ai une image qui est une matrice binaire 2D.
Existe-t-il un moyen de le représenter graphiquement sur JMP ? Le graphique doit montrer un point noir pour les uns et rien pour les zéros.
Ci-joint le fichier qui doit être graphique.
Merci pour l'aide !
Voici une autre façon de faire cela, avec JSL et en créant un fichier image
// data preparation, the data table needs some work to get it ready
_dt = Current Data Table();
_dt << Select rows( 1 );
_dt << delete rows;
For( ii = 1, ii <= N Cols( _dt ), ii++,
Column( _dt, ii ) << Set Name( "phase_" || Char( ii - 1 ) );
Column( _dt, ii ) << Set Data Type( Numeric );
Column( _dt, ii ) << Set Modeling Type( Continuous );
);
// Make an image file and display in new window with scaling control
// this assumes the entire table just has the binary columns
// get the binary values as a matrix
m = _dt << get as matrix;
// get the dimensions of the table/matrix
mdim = Dim( m );
// specify a minimum image size in pixels, this prevents the image from being
// too small to be useful
mininumimagepixeldim = [800 800];
// determine a scale factor to bring the size of the matrix up to the minimum dimensions
// specified above
scale_x = Ceiling( mininumimagepixeldim[2] / mdim[2] );
scale_y = Ceiling( mininumimagepixeldim[1] / mdim[1] );
// create a scaled image matrix, using the scale factors determined above
// and applying the direct product to scale up the image
r = 1 - Direct Product( m, J( scale_y, scale_x, 1 ) );
// create an image from the scaled image matrix
img = New Image( "rgb", {r, r, r} );
scalefactor = 1;
// create the display window
_nw = New Window( "Binary Image",
Outline Box( "Binary Image",
// create a slider controller to rescale the image
// this works by recreated the image, applying the scale factor,
// deleting the image in the display and redrawing the new image
V List Box(
H List Box(
Text Box( "Move Slider to Scale Image " ),
Slider Box(
.5,
1,
scalefactor,
img = New Image( "rgb", {r, r, r} );
img << Scale( scalefactor );
_picb << delete;
_panelb << Append( _picb = Picture Box( img ) )
;
)
),
// draw the binary image inside a panel box (just to give it an outline and a container)
_panelb = Panel Box( "Binary Image", _picb = Picture Box( img ) )
)
)
);Le résultat ressemble à ceci

Voici quelques façons de procéder.Le premier est un graphique cellulaire.Pour ce faire, il faut corriger votre tableau de données.
1. Supprimez la ligne 1.
2. Sélectionnez toutes les colonnes
3. À l'aide de Standardize Attributes, modifiez toutes les colonnes d'un type de données de caractère à un type de données de numérique.
4. À l'aide des attributs de normalisation, créez une propriété de colonne de couleurs de valeur et définissez la couleur de la valeur 0 sur blanc et la couleur de la valeur 1 sur noir
5. Exécutez la plate-forme de parcelle de cellule
Graphique ==> Tracé de cellules
Sélectionnez toutes les colonnes et placez-les dans la réponse Y, puis cliquez sur OK

Le deuxième exemple consiste à utiliser le Graph Builder
1. En prenant le tableau de données modifié ci-dessus, une nouvelle colonne représentant la ligne dans laquelle se trouvent les données doit être ajoutée. Alors, ajoutez une colonne appelée "Ligne" et définissez sa formule sur
Ligne()
2. Les données doivent maintenant être empilées dans essentiellement une colonne de zéros et de uns.En utilisant le
Tableaux==> Pile
plate-forme, copiez toutes les colonnes, "Colonne 2" à "Colonne 26" dans les colonnes de la pile.
3. Dans la section "Colonnes non empilées", cochez la case "Sélectionner", puis choisissez la colonne "Ligne".
3. Cliquez sur OK
4. Dans la nouvelle table de données empilées, créez une nouvelle colonne appelée "Colonne" et définissez la formule sur
Num(Mot(-1,:Libellé," "))
Cela prendra le numéro de colonne de la colonne Étiquette et en fera une valeur numérique dans la nouvelle colonne
5. Ouvrez la plate-forme de création de graphiques
Graphique ==> Générateur de graphiques
6. Faites glisser la colonne Ligne vers la zone de dépôt Y
7. Faites glisser la colonne Colonne vers la zone de dépôt X
8. Faites un clic droit sur le graphique et sélectionnez
Plus lisse ==> Supprimer
9. Faites glisser la colonne Données vers la zone de dépôt Couleur
10. Faites un clic droit sur le point coloré du 0 dans la légende et sélectionnez
Couleur ==> Blanc
11. Faites un clic droit sur le point coloré pour le 1 dans la seconde et sélectionnez
Couleur ==> Noir
Vous obtiendrez ce tableau

D'autres méthodes sont également disponibles.