0 / 0
Retourner à la version anglaise de la documentation
Vue Visualisation
Dernière mise à jour : 04 oct. 2024
Vue de visualisation Decision Optimization

Avec Decision Optimization expérimentation Visualisation afficher, vous pouvez configurer la représentation graphique des données d'entrée et des solutions pour un ou plusieurs scénarios.

La vue Visualisation est commune à tous les scénarios d'une expérimentation Decision Optimization .

Par exemple, l'image suivante montre le graphique à barres par défaut qui apparaît dans l'onglet de solution pour l'exemple utilisé dans le tutoriel Résolution et analyse d'un modèle: le problème du régime alimentaire.

Panneau de visualisation montrant la solution dans un tableau et un graphique à barres

La vue Visualisation vous permet de comparer différents scénarios pour valider des modèles et des décisions métier.

Par exemple, pour afficher les deux scénarios résolus dans ce tutoriel d'exemple de régime alimentaire, vous pouvez ajouter un autre diagramme à barres comme suit:
  1. Cliquez sur Graphique et configurez-le en cliquant sur l'icône en forme de crayon.
  2. Dans l' éditeur de widget de graphique, développez le menu Sélectionner un scénario et choisissez Scénario 1 (en supposant que votre scénario actuel est le scénario 2) pour que le scénario 1 et le scénario 2 soient répertoriés.
  3. Dans la zone Table, sélectionnez l'option Données de la solution et sélectionnez solution dans la liste déroulante.
  4. Dans le panneau du graphique à barres, sélectionnez Décroissant pour l' ordre des catégories, axe des Y pour le Type de barre et cliquez sur OK pour fermer l'éditeur de widget Graphique. Un deuxième graphique à barres s'affiche alors, vous montrant les résultats de la solution pour le scénario 2.
  5. Modifiez à nouveau le graphique et sélectionnez @Scenario dans la zone Diviser par du panneau du graphique à barres. Vous obtenez ensuite les deux scénarios dans le même diagramme à barres:

Graphique avec deux scénarios affichés dans un graphique..

Vous pouvez sélectionner de nombreux types de graphiques différents dans l'éditeur de widget Graphique.

Vous pouvez également utiliser le widget Graphique Vega pour choisir Données de solution > solution afin d'afficher les mêmes données, sélectionner une valeur et un nom dans les zones x et y de la section Graphique de l'éditeur de widget Graphique Vega. Ensuite, dans la section Marquer, sélectionnez @Scenario pour la zone de couleur. Cette sélection vous donne le diagramme à barres suivant avec les deux scénarios sur le même axe des Y, distingués par des couleurs différentes.

Graphique Vega montrant 2 scénarios.

Si vous rééditez le graphique et sélectionnez @Scenario pour la facette de colonne, vous obtenez les deux scénarios dans des graphiques distincts côte à côte comme suit:

Graphiques Vega montrant 2 scénarios côte à côte.

Vous pouvez utiliser de nombreux types de graphiques disponibles dans la zone Marquer de l'éditeur de widget Graphique Vega.

Vous pouvez également sélectionner l'onglet JSON dans tous les éditeurs de widget et configurer vos graphiques à l'aide du code JSON. Un exemple plus avancé de code JSON est fourni dans la section Spécifications du widget Graphique Vega .

Les widgets suivants sont disponibles :

  • Widget Notes

    Ajoutez des remarques de texte simples à la vue Visualisation.

  • Widget de table

    Présentez les données d'entrée et la solution dans des tables, avec une fonction de recherche et de filtrage. Voir Recherche et filtrage de table.

  • Widgets Graphiques

    Présentez les données d'entrée et la solution dans des graphiques.

  • Widget de diagramme de Gantt

    Affichez la solution à un problème de planification (ou à tout autre type de problème approprié) dans un diagramme de Gantt.

    Ce widget est utilisé automatiquement pour les problèmes de planification modélisés avec Modeling Assistant. Vous pouvez éditer ce diagramme de Gantt ou créer et configurer de nouveaux diagrammes de Gantt pour tout problème, même pour les modèles qui n'utilisent pas Modeling Assistant.

Editeur de widget

Vous pouvez éditer les widgets dans l' éditeur de widget en cliquant sur l'icône Configurer du widget (crayon) dans un widget. Vous pouvez ensuite les personnaliser dans l'éditeur ou en modifiant le code JSON.

Dans l'éditeur, vous pouvez facilement modifier le nom de votre widget et sélectionner la source des données que vous souhaitez afficher dans votre vue Visualisation.

Lorsque vous modifiez un widget dans l' éditeur de widget, un aperçu s'affiche également pour vous montrer vos modifications. Vous pouvez ensuite choisir de sauvegarder vos modifications en cliquant sur OK, qui ferme l' éditeur de widget, ou vous pouvez sélectionner Annuler pour abandonner vos modifications.

L'éditeur JSON vous offre des possibilités d'édition plus avancées. Pour plus d'informations sur la syntaxe des widgets JSON, voir la section suivante: Syntaxe des widgets de visualisation.

Vous pouvez télécharger votre vue Visualisation sous forme de fichier JSON, contenant les définitions et les données, ce qui vous permet de partager plus facilement vos résultats avec vos collaborateurs.

Pages de visualisation

Vous pouvez créer différentes pages pour différents scénarios ou combiner des scénarios sur la même page.

Vous pouvez ajouter des pages en cliquant sur le signe plus. Vous pouvez ensuite personnaliser ce qui s'affiche sur chaque page. Vous pouvez également ajouter des pages dans l' éditeur de visualisation.

Pour éditer une page, cliquez sur l'icône Editer (crayon). Dans l' éditeur de visualisation , vous pouvez éditer le nom de la page, la réorganiser et ajouter des pages. Vous pouvez également modifier le nom de la page en cliquant deux fois sur l'onglet de la page.

Pour supprimer une page, cliquez sur le bouton Supprimer dans l'onglet de la page ou dans l' éditeur de visualisation.

Cliquez sur OK dans l' éditeur de visualisation pour sauvegarder vos mises à jour et fermer l'éditeur. Vous pouvez également sélectionner Annuler pour abandonner vos modifications.

Recherche et filtrage de table

Vous pouvez filtrer les tables dans les Préparer les données, Explorer la solution et Visualisation vuesen cliquant sur l'icône de recherche et en entrant une valeur pour la recherche. Vous pouvez également spécifier un nom de colonne, un signe deux-points et une valeur. Par exemple, si vous entrez food:hot dans la zone de recherche de table diet_food_nutrients , la table est filtrée pour afficher uniquement les lignes qui contiennent la nourriture "chaude". Dans cet exemple, vous obtenez une seule ligne contenant la nourriture Hotdog. Vous pouvez également entrer le préfixe d'un nom de colonne. Par exemple, la saisie de fo:hot permet d'obtenir le même résultat que food:hot. Le nom de la colonne étant facultatif, vous pouvez également entrer hot dans ce cas. Si aucun nom de colonne n'est spécifié, la recherche est effectuée sur toutes les colonnes et les lignes correspondantes sont obtenues. Par exemple, si vous entrez 0, dans la table diet_food_nutrients , vous obtenez quatre lignes contenant cette valeur dans l'une des colonnes. Vous pouvez également filtrer en utilisant des valeurs numériques comme suit:

Entrez dans la zone de recherche Résultat : lignes affichées contenant des valeurs de colonne
column_name:12 égal à 12
column_name :10.. supérieur ou égal à 10
column_name :..10 inférieur ou égal à 10
column_name:15..25 entre 15 et 25

Syntaxe des widgets de visualisation

La syntaxe de widget peut être utile pour personnaliser des widgets au-delà de la fonctionnalité fournie par l'éditeur JSON.

La syntaxe de base du widget est la suivante :

{
  "name": "Widget Title",
  "type": "WidgetType",
  "props": {}
}
Tableau 1. Syntaxe de base du widget
  Descriptif

name

Définit le titre du widget qui s'affiche dans l'en-tête du widget.

type

Définit le type du widget.

props

Définit les propriétés du widget. Les propriétés varient en fonction du type de widget.

La syntaxe de base des widgets qui sont connectés à des données, telles que des tableaux et des graphiques, est la suivante:

{
  "name": "Table Cars",
  "type": "Table",
  "props": {
    "container": "",
    "data": "cars",
    "spec": {},
    "search": ""
  }
}
Tableau 2. Syntaxe de base pour les widgets connectés à des données
  Descriptif

data

Vous indiquez généralement data. data fait référence à la table à partir de laquelle vous souhaitez extraire des données.

spec

spec est généralement laissé vide. La visualisation génère un spec par défaut comme point de départ.

container

Vous pouvez également indiquer container. Si container est égal à "" ou "$current-scenario", cela fait référence au scénario actuel. Ce dernier est utile lorsque vous avez plusieurs scénarios.

container peut référencer un autre scénario dans la même expérimentation Decision Optimization par son nom: "container":"Scenario 1". Cela peut également faire référence à une liste de différents scénarios : "container":["Scenario April","Scenario June"].

Pour agréger tous les scénarios contenus dans une expérimentation Decision Optimization , utilisez "container":"*". container prend également en charge la syntaxe suivante: "container":"/regex/" où tous les scénarios dont le nom contient regex seront référencés. Ajoutez i après la barre oblique pour ignorer les différences de casse. Par exemple, "container":"/april/i" fera référence à tous les scénarios dont les noms contiennent april ou April.

Les lignes des scénarios répertoriés sont concaténées dans une table unique, avec une colonne supplémentaire $scenario contenant le nom du scénario.

search

Enregistre le contenu de la zone de texte à rechercher.

Spécifications du widget Notes

Le widget Notes peut être stylisé comme un post-it, comme illustré dans l'exemple de code suivant :

{
  "name": "Notes",
  "type": "Notes",
  "props": {
    "notes": "My post-it note",
    "style": {
      "background": "#ffe"
    },
    "headerStyle": {
      "background": "#ffe"
    }
  }
}

Cet exemple de style s'applique à d'autres widgets.

Spécifications du widget de table

Les spécifications de widget de table sont composées d'une liste de colonnes qui suivent cette syntaxe:

{
  "name": "Table Cars",
  "type": "Table",
  "property": "Acceleration",
  "label": "Acceleration",
  "type": "Number",
  "visible": true,
  "width": 100,
  "style": {}
}
Tableau 3. Spécifications du widget de table
  Descriptif

property

Propriété de clé permettant d'accéder aux données de la ligne spécifiée.

type

Il est nécessaire de disposer d'une fonction de recherche et de filtrage appropriée, car les nombres ne sont pas recherchés comme des chaînes.

visible

Permet l'affichage ou le masquage d'une colonne sans supprimer complètement sa définition.

label

Définit les en-têtes de colonne.

style

Permet de mettre en forme les tableaux en ajoutant des propriétés CSS en casse mixte. Par exemple, si vous souhaitez indiquer l'alignement du texte dans une table, utilisez textAlign plutôt que text-align.

Vous pouvez personnaliser le rendu des tableaux à l'aide des éléments suivants:

Tableau 4. Personnalisation du widget de table
  Descriptif

numbered

Affiche les numéros de ligne.

compact

Réduit la hauteur de ligne.

columnExpand

Définissez columnExpand sur true pour développer les largeurs de colonne à intégrer dans le widget.

columnShrink

Définissez columnShrink sur true pour réduire les largeurs de colonne à insérer dans le widget.

La fonction de recherche et de filtrage est disponible dans les tableaux. Pour rechercher du contenu dans une table, cliquez sur l'icône de recherche icône de lancement de la recherche. Vous pouvez limiter votre recherche à une colonne spécifique en ajoutant un préfixe à votre recherche comme suit : "column heading":"search", par exemple name:chevrolet. Pour rechercher des valeurs comprises entre x et x, utilisez 10..20. Vous pouvez également rechercher des valeurs supérieures à x, par exemple 10.. et des valeurs inférieures à x, par exemple ..20. Pour plus d'informations sur le filtrage de table, voir Recherche et filtrage de table.

Widgets graphiques

Vous pouvez utiliser deux types de widgets de graphique: Graphiques Vega et Graphiques. Différents types de graphique sont disponibles lorsque vous ouvrez ces éditeurs de widget graphique.

Spécifications du widget graphique Vega

Le widget Graphique Vega utilise les spécifications Vega-Lite pour créer différents types de graphique (graphiques à barres, graphiques à points, etc.). Si vous laissez spec vide, un diagramme à barres simple est automatiquement généré avec la première colonne de chaîne de l'axe des X et le premier nombre dans l'axe des ordonnées.

Vega-Lite permet le filtrage et la transformation des données. Par exemple, les chaînes peuvent être transformées en dates.

Pour en savoir plus sur Vega-Lite, voir Vega-Lite-A High-Level Visualization Grammar.

Voici un exemple avancé d'un diagramme à barres groupées basé sur un tableau de données de population. Cet exemple montre comment filtrer des données et comment calculer une colonne virtuelle :

{
  "name": "Population Grouped Bar Chart",
  "type": "Chart",
  "props": {
    "data": "population",
    "spec": {
      "transform": [
        {
          "filter": "datum.year == 2000"
        },
        {
          "calculate": "datum.sex == 2 ? 'Female' : 'Male'",
          "as": "gender"
        }
      ],
      "mark": "bar",
      "encoding": {
        "column": {
          "field": "age",
          "type": "ordinal"
        },
        "y": {
          "aggregate": "sum",
          "field": "people",
          "type": "quantitative",
          "axis": {
            "title": "population",
            "grid": false
          }
        },
        "x": {
          "field": "gender",
          "type": "nominal",
          "scale": {
            "rangeStep": 12
          },
          "axis": {
            "title": ""
          }
        },
        "color": {
          "field": "gender",
          "type": "nominal",
          "scale": {
            "range": [
              "#EA98D2",
              "#659CCA"
            ]
          }
        }
      },
      "config": {
        "facet": {
          "cell": {
            "strokeWidth": 0
          }
        },
        "axis": {
          "domainWidth": 1
        }
      }
      }
    }
  }

Widget de diagramme de Gantt

Les diagrammes de Gantt sont automatiquement créés pour afficher la solution aux problèmes de planification créés avec Modeling Assistant. Vous pouvez cependant modifier, créer et configurer des diagrammes de Gantt pour toutes les données où cela est significatif, à l'aide du widget de Gantt. Vous pouvez utiliser Editeur de widget pour sélectionner les scénario pertinent, et Ressources, Activités, Réservations et Dates à afficher. Vous pouvez également utiliser l'éditeur JSON pour configurer des diagrammes de Gantt en cliquant sur l'icône en forme de crayon et en sélectionnant le panneau JSON.

Le diagramme de Gantt généré automatiquement pour Modeling Assistant utilise le code JSON suivant. La data valeur de zone $cognitive-gantt permet ici de manière dynamique au widget Gantt de se connecter à la solution Modeling Assistant . Ce chargement dynamique peut également impliquer que l'affichage du diagramme de Gantt peut prendre un moment.
{
  "name": "",
  "type": "Gantt",
  "props": {
    "container": "",
    "data": "$cognitive-gantt",
    "spec": {},
    "search": ""
  }
}
Pour définir votre propre diagramme de Gantt, vous pouvez utiliser l' éditeur de widget ou éditer le code JSON et fournir les noms de 3 de vos tables pour définir les données resources, activities et reservations , comme suit:
  "data": [
    "resourcesTableName",
    "activitiesTableName",
    "reservationsTableName"
  ],
Fournissez également une section spec pour définir ces tables, comme suit. Les zones parent sont facultatives mais toutes les autres zones sont obligatoires.
  "resources": {
    "data": "resourcesTableName",
    "id": "id",
    "parent": "parent",
    "name": "name"
  },
  "activities": {
    "data": "activitiesTableName",
    "id": "id",
    "name": "name",
    "start": "start",
    "end": "end",
    "parent": "parent"
  },
  "reservations": {
    "data": "reservationsTableName",
    "activity": "activity",
    "resource": "resource"
  },

Une autre zone obligatoire que vous devez également définir dans la spécification est dateFormat afin que tous les formats de date communs puissent être convertis en dates réelles. Certains formats de date communs sont par exemple'yyyy-MM-dd','yyyy-MM-dd HH:mm:ss', etc. Vous pouvez également utiliser S for milliseconds for Epoch time, par exemple, "dateFormat": "S". dateFormat doit correspondre aux zones "start" et "end" de la table "activity" .

Le message d'erreur Aucune fenêtre de temps définie s'affiche jusqu'à ce que vous définissez la table activity, avec les zones start et end qui utilisent le dateFormat spécifié.

Les zones facultatives suivantes sont également disponibles:
  • resourceQuantity dans lequel vous pouvez configurer la colonne de quantité dans la table des ressources pour permettre au diagramme de Gantt d'obtenir les informations nécessaires pour remplir un graphique de ressources de chargement pour vous. Vous pouvez définir cette colonne comme suit: "resourceQuantity": "quantity"

  • Vous pouvez également définir le type de diagramme de Gantt dont vous avez besoin : ActivityChart ou ScheduleChart. Vous pouvez définir le type comme suit:"type": "ActivityChart",. Vous pouvez également omettre ce paramètre et la valeur par défaut est ScheduleChart. Si vous choisissez de disposer d'un ActivityChart, vous devez fournir des informations supplémentaires sur le nom de la table de contraintes et le mappage de cette table:
      "constraints": {
        "data": "constraintsTableName",
        "from": "from",
        "to": "to",
        "type": "type"
      },
    Les valeurs from et to sont les noms de colonne de votre table de contraintes qui définissent l'ordre de priorité des tâches. Les valeurs de type correspondent ici aux valeurs 0 à 3 de la bibliothèque de diagrammes de Gantt :
    START_TO_START: 0,
    START_TO_END: 2,
    END_TO_END: 3,
    END_TO_START: 1,
    Par exemple, si votre tâche to démarre après la fin de votre tâche from , sélectionnez 1 comme valeur de type.
ScheduleChartexemple
{
  "name": "",
  "type": "Gantt",
  "props": {
    "container": "",
    "data": [
      "resources",
      "activities",
      "reservations"
    ],
    "spec": {
      "resources": {
        "data": "resources",
        "id": "id",
        "parent": "parent",
        "name": "name"
      },
      "activities": {
        "data": "activities",
        "id": "id",
        "name": "name",
        "start": "start",
        "end": "end",
        "parent": "parent"
      },
      "reservations": {
        "data": "reservations",
        "activity": "activity",
        "resource": "resource"
      },
      "dateFormat": "S",
      "resourceQuantity": "quantity"
    },
    "search": ""
  }
}
ActivityChartexemple
{
  "name": "",
  "type": "Gantt",
  "props": {
    "container": "",
    "data": [
      "resources",
      "activities",
      "reservations",
      "constraints"
    ],
    "spec": {
      "type": "ActivityChart",
      "resources": {
        "data": "resources",
        "id": "id",
        "parent": "parent",
        "name": "name"
      },
      "activities": {
        "data": "activities",
        "id": "id",
        "name": "name",
        "start": "start",
        "end": "end",
        "parent": "parent"
      },
      "constraints": {
        "data": "constraints",
        "from": "from",
        "to": "to",
        "type": "type"
      },
      "reservations": {
        "data": "reservations",
        "activity": "activity",
        "resource": "resource"
      },
      "dateFormat": "S",
      "resourceQuantity": "quantity"
    },
    "search": ""
  }
}

En savoir plus

Pour les autres types de graphiques, voir Visualisation de vos données.

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus