Personnaliser des visualisations à l'aide de l'éditeur de configuration des graphiques

Vous pouvez utiliser l'éditeur de configurations de graphiques pour personnaliser les options de mise en forme des visualisations Looker qui utilisent l'API HighCharts. Cela inclut la plupart des graphiques cartésiens, tels que les graphiques à colonnes, les graphiques à barres et les graphiques en courbes, entre autres.

Si les fonctionnalités Gemini dans Looker sont activées, vous pouvez utiliser l'assistant de visualisation pour générer des options de mise en forme JSON à partir de requêtes textuelles afin d'accélérer la personnalisation des visualisations Looker.

Prérequis

Pour accéder à l'éditeur de configurations de graphiques, vous devez disposer de l'autorisation can_override_vis_config.

Personnaliser une visualisation

Pour personnaliser une visualisation avec l'éditeur de configurations de graphiques, procédez comme suit :

  1. Affichez une visualisation dans une exploration ou modifiez une visualisation dans un look ou un tableau de bord.
  2. Ouvrez le menu Modifier dans la visualisation.
  3. Cliquez sur le bouton Modifier la configuration du graphique dans l'onglet Tracé. Looker affiche la boîte de dialogue Modifier la configuration du graphique.

    • Le volet Configuration du graphique (source) contient le JSON d'origine de votre visualisation et ne peut pas être modifié.

    • Le volet Configuration du graphique (remplacement) contient le JSON qui doit remplacer le JSON source. Lorsque vous ouvrez la boîte de dialogue Modifier la configuration du graphique pour la première fois, Looker remplit le volet avec du JSON par défaut. Vous pouvez commencer par ce JSON, ou le supprimer et saisir n'importe quel JSON HighCharts valide.

  4. Sélectionnez la section Configuration du graphique (remplacement) et saisissez du JSON HighCharts valide. Les nouvelles valeurs remplaceront toutes les valeurs de la section Configuration du graphique (source).

    • Consultez la section Exemples pour obtenir des exemples de JSON HighCharts valides.
    • Looker accepte toutes les valeurs JSON valides. Looker n'accepte pas les fonctions, les dates ni les valeurs non définies.
  5. Cliquez sur <> (Mettre en forme le code) pour permettre à Looker de mettre en forme correctement votre JSON.

  6. Cliquez sur Prévisualiser pour tester vos modifications.

  7. Cliquez sur Appliquer pour appliquer vos modifications. La visualisation s'affiche à l'aide des valeurs JSON personnalisées.

Une fois que vous avez personnalisé votre visualisation, vous pouvez l'enregistrer. Si vous avez affiché la visualisation dans une exploration, enregistrez l'exploration. Si vous avez modifié un look ou un tableau de bord, cliquez sur Enregistrer.

Si vous essayez de prévisualiser du code contenant du JSON non valide, Looker affiche un message d'erreur Invalid JSON detected (JSON non valide détecté). Vous pouvez nettoyer le JSON non valide avec l'option Autofix code en bas du volet Configuration du graphique (remplacement).

Si vous souhaitez modifier les options de visualisation par défaut, supprimez d'abord toutes les modifications que vous avez apportées dans l'éditeur de configurations de graphiques, puis remplacez-les ultérieurement. Plus précisément, procédez comme suit :

  1. Cliquez sur le bouton Modifier la configuration du graphique dans l'onglet Tracé. Looker affiche la boîte de dialogue Modifier la configuration du graphique.
  2. Copiez le texte dans le volet Configuration du graphique (remplacement).
  3. Cliquez sur le bouton Effacer les remplacements de graphique pour supprimer toutes les modifications.
  4. Cliquez sur Appliquer.
  5. Modifiez votre visualisation à l'aide des options de visualisation par défaut.
  6. Cliquez sur le bouton Modifier la configuration du graphique dans l'onglet Tracé. Looker affiche la boîte de dialogue Modifier la configuration du graphique.
  7. Saisissez du JSON HighCharts valide dans le volet Configuration du graphique (remplacement). Vous pouvez utiliser le texte que vous avez copié à l'étape 2 comme modèle, mais veillez à tester vos modifications à l'aide du bouton Prévisualiser pour vous assurer qu'il n'y a pas de conflits.
  8. Cliquez sur Appliquer.

Mise en forme conditionnelle avec series formatters

L'éditeur de configurations de graphiques accepte la plupart des JSON HighCharts valides. Il accepte également l'attribut series formatters, qui n'existe que dans Looker. Chaque série peut comporter plusieurs formatteurs pour combiner différentes règles de style.

L'attribut series formatters accepte deux attributs : select et style.

  • Saisissez une expression logique dans l'attribut select pour indiquer les valeurs de données à mettre en forme.
  • Saisissez du JSON dans l'attribut style pour indiquer comment mettre en forme les valeurs de données.

Par exemple, le JSON suivant colorie chaque valeur de données en orange si elle est supérieure ou égale à 380 :

{
  series: [{
    formatters: [{
      select: 'value >= 380',
      style: {
        color: 'orange'
      }
    }]
  }]
}

Les sections suivantes décrivent plus en détail les valeurs potentielles des attributs select et style.

L'attribut select

Vous pouvez utiliser les valeurs suivantes dans une expression select :

  • value : cette variable renvoie la valeur de la série. Vous pouvez utiliser cette valeur dans des comparaisons, comme dans les exemples suivants :
  • max : utilisez select: max pour cibler la valeur de série qui a la valeur maximale.
  • min : utilisez select: min pour cibler la valeur de série qui a la valeur minimale.
  • percent_rank : cette variable cible la valeur de série avec un centile spécifié. Par exemple, vous pouvez utiliser select: percent_rank >= 0.9 pour cibler les valeurs de série dans le 90e centile.
  • name : cette variable renvoie la valeur de dimension de la série. Par exemple, si vous avez un graphique affichant les commandes vendues, annulées et retournées, vous pouvez utiliser select: name = Sold pour cibler la série où la valeur de dimension est "Sold" (Vendues).
  • AND/OR : utilisez AND et OR pour combiner plusieurs expressions logiques.

Pour voir ces expressions implémentées dans l'éditeur de configurations de graphiques, consultez l'exemple Colorier les valeurs maximale, minimale et centile.

L'attribut style

L'attribut style peut être utilisé pour appliquer des styles compatibles avec HighCharts. Par exemple, vous pouvez colorier les valeurs de série à l'aide de style.color, les bordures de série à l'aide de style.borderColor et définir la largeur de la bordure de série à l'aide de style.borderWidth. Pour obtenir une liste plus complète des options de style, consultez les options Highcharts pour series.column.data.

Pour les visualisations de lignes, utilisez style.marker.fillColor et style.marker.lineColor au lieu de style.color. Pour obtenir une liste plus complète des options de style de ligne, consultez les options Highcharts pour series.line.data.marker.

Pour voir la mise en forme des couleurs implémentée dans l'éditeur de configurations de graphiques, consultez l'exemple Colorier les valeurs maximale, minimale et centile.

Métadonnées du champ

Le menu déroulant Métadonnées du champ vous permet de copier le nom de la série pour n'importe quel champ de votre visualisation. Vous pouvez utiliser ce nom de série à l'aide de l'attribut series formatters pour comparer les valeurs de différentes séries. Pour obtenir un exemple, consultez la section Colorier une série par rapport aux valeurs d'autres séries.

Exemples

Les sections suivantes fournissent des exemples de cas d'utilisation courants de l'éditeur de configurations de graphiques. Pour obtenir la liste complète des attributs que vous pouvez modifier, consultez la documentation de l'API HighCharts.

Modifier la couleur d'arrière-plan et la couleur du texte de l'axe

Pour modifier la couleur d'arrière-plan d'une visualisation, utilisez l'chart.backgroundColor attribut.

De même, pour modifier la couleur du texte des axes d'une visualisation, utilisez les attributs suivants :

Le JSON HighCharts suivant remplace la couleur d'arrière-plan de la visualisation par le violet et le texte des titres et des libellés des axes par le blanc.

{
  chart: {
    backgroundColor: "purple"
  },

  xAxis: {
    labels: {
      style: {
        color: "white"
      }
    },
    title: {
      style: {
        color: "white"
      }
    }
  },

  yAxis: {
    labels: {
      style: {
        color: "white"
      }
    },
    title: {
      style: {
        color: "white"
      }
    }
  }
}

Personnaliser la couleur de l'info-bulle

Pour personnaliser la couleur de l'info-bulle, utilisez les attributs suivants :

Le JSON HighCharts suivant remplace la couleur d'arrière-plan de l'info-bulle par le cyan et la couleur du texte de l'info-bulle par le noir.

{
  tooltip: {
    backgroundColor: "cyan",
    style: {
      color: "black"
    }
  }
}

Personnaliser le contenu et les styles de l'info-bulle

Pour personnaliser le contenu de l'info-bulle, utilisez les attributs suivants :

Le JSON HighCharts suivant modifie le format de l'info-bulle de sorte que la valeur de l'axe des abscisses s'affiche en haut de l'info-bulle avec une police plus grande, suivie d'une liste de toutes les valeurs de série à ce stade.

Cet exemple utilise les fonctions et variables HighCharts suivantes :

  • {key} est une variable qui renvoie la valeur de l'axe des abscisses du point sélectionné. (dans cet exemple, le mois et l'année).
  • {#each points}{/each} est une fonction qui répète le code inclus pour chaque série du graphique.
  • {series.name} est une variable qui renvoie le nom de la série.
  • {y:.2f} est une variable qui renvoie la valeur de l'axe des ordonnées du point sélectionné, arrondie à deux décimales.
    • {y} est une variable qui renvoie la valeur de l'axe des ordonnées du point sélectionné.
    • {variable:.2f} arrondit variable à deux décimales. Pour obtenir d'autres exemples de mise en forme des valeurs, consultez la documentation sur les modèles Highcharts.
{
  tooltip: {
    format: '<span style="font-size: 1.8em">{key}</span><br/>{#each points}<span style="color:{color}; font-weight: bold;">\u25CF {series.name}: </span>{y:.2f}<br/>{/each}',
    shared: true
  },
}

Ajouter des annotations et des légendes au graphique

Pour ajouter une annotation, utilisez l'attribut annotations. Pour ajouter une légende au graphique, utilisez l'attribut caption.

Pour obtenir les coordonnées d'un point, cliquez sur Inspect Point Metadata (Inspecter les métadonnées du point) en haut de la boîte de dialogue Modifier la configuration du graphique. Pointez ensuite sur le point de données que vous souhaitez annoter. Looker affiche un ID de point, que vous pouvez utiliser dans l'attribut annotations.labels.point.

Le JSON HighCharts suivant ajoute deux annotations au graphique pour expliquer une diminution des articles en stock après certaines périodes. Il ajoute également une légende en bas du graphique pour expliquer les annotations plus en détail.

{
  caption: {
    text: 'Items go on clearance after 60 days, and are thrown away after 80 days. Thus we see large drops in inventory after these events.'
  },
  annotations: [{
    labels: [{
        point: "inventory_items.count-60-79",
        text: "Clearance sale"
      },
      {
        point: "inventory_items.count-80+",
        text: "Thrown away"
      },
    ]
  }]
}

Ajouter des annotations dynamiques

Vous pouvez également utiliser les paramètres annotationsSource et annotationsTarget pour utiliser les données d'un champ comme annotation.

Pour obtenir les noms de champs, vous pouvez utiliser le menu déroulant Métadonnées du champ. Notez que le champ annotationsTarget doit être une mesure.

Le JSON HighCharts suivant utilise la valeur du champ orders.annotations comme annotation sur le champ orders.count :

{
  annotations: [{
    labels: [{
      annotationsSource: 'orders.annotations',
      annotationsTarget: 'orders.count'
    }]
  }]
}

Ajouter des bandes de référence verticales

Pour ajouter une bande de référence verticale, utilisez l'xAxis.plotBands attribut.

Le JSON HighCharts suivant ajoute une bande de référence verticale entre le 24 novembre 2022 et le 29 novembre 2022 pour indiquer une période de soldes. Il ajoute également une légende en bas du graphique pour expliquer la signification de la bande.

Notez que les attributs to et from de xAxis.plotBands doivent correspondre aux valeurs de données du graphique. Dans cet exemple, comme les données sont basées sur le temps, les attributs acceptent les valeurs de code temporel Unix (1669680000000 pour le 29 novembre 2022 et 1669248000000 pour le 24 novembre 2022). Les formats de date basés sur des chaînes tels que MM/JJ/AAAA et JJ-MM-AA ne sont pas compatibles avec les attributs to et from de HighCharts.

{
  caption: {
    text: 'This chart uses the HighCharts plotBands attribute to display a band around the Black Friday Cyber Monday sale period.'
  },
  xAxis: {
    plotBands: [{
      to: 1669680000000,
      from: 1669248000000,
      label: {
        text: 'BFCM Sale Period'
      }
    }]
  },
}

Ajouter des lignes en pointillés et en tirets

Pour remplacer les lignes pleines par des lignes en pointillés ou en tirets, utilisez l'series.dashStyle attribut.

Le JSON HighCharts suivant remplace l'attribut dashStyle de la série Customers par une ligne en tirets et l'attribut dashStyle de la série Sales par une ligne en pointillés.

{
  series: [{
    name: 'Customers',
    dashStyle: 'Dash'
  }, {
    name: 'Sales',
    dashStyle: 'Dot'
  }]
}

Colorier les valeurs maximale, minimale et centile

Pour obtenir un exemple détaillé sur la coloration des valeurs maximale, minimale et centile d'une visualisation cartésienne, consultez la page Getting the most out of Looker visualizations cookbook: Conditional formatting customization in Cartesian charts (Tirer le meilleur parti du livre de recettes des visualisations Looker : personnalisation de la mise en forme conditionnelle dans les graphiques cartésiens).

Colorier une série par rapport aux valeurs d'autres séries

À partir de Looker 25.0, le paramètre formatters.select vous permet de comparer la valeur de données actuelle aux valeurs d'autres séries.

Prenons l'exemple d'une visualisation qui affiche le prix de vente moyen et le prix de vente médian pour plusieurs villes. Le JSON HighCharts suivant remplace la couleur du prix de vente moyen par le vert lorsqu'il est supérieur ou égal au prix de vente médian, et par le marron dans le cas contraire :

{
  chart: {},
  series: [{
    name: 'Average Sale Price',
    formatters: [{
        select: 'value >= order_items.median_sale_price',
        style: {
          color: 'green',
          dataLabels: {
            color: 'green'
          }
        }
      },
      {
        select: 'value < order_items.median_sale_price',
        style: {
          color: 'maroon',
          dataLabels: {
            color: 'maroon'
          }
        }
      }
    ]
  }, {
    name: 'Median Sale Price'
  }]
}

Notez que la ligne select: 'value >= order_items.median_sale_price' fait référence au champ Median Sale Price (Prix de vente médian) au format VIEW_NAME.FIELD_NAME. Pour copier directement cette valeur de champ, cliquez sur le menu déroulant Métadonnées du champ dans la boîte de dialogue Modifier la configuration du graphique, puis sélectionnez le nom du champ.

Comparer les valeurs d'une série à la valeur moyenne ou médiane

Le paramètre formatters.select est compatible avec le mot clé mean dans Looker 25.0 et versions ultérieures, et avec le mot clé median dans Looker 25.2 et versions ultérieures. Ces mots clés vous permettent de comparer la valeur de données actuelle à la moyenne arithmétique ou à la médiane de la série.

Prenons l'exemple d'une visualisation qui affiche le bénéfice des commandes pour chaque mois de l'année dernière. Le JSON HighCharts suivant remplace la couleur de chaque barre par le gris (représenté par le code hexadécimal #aaa) si le bénéfice de la commande est inférieur au bénéfice moyen de la commande :

{
  chart: {},
  series: [{
    name: 'Order Profit',
    formatters: [{
      select: 'value < mean',
      style: {
        color: '#aaa'
      }
    }]
  }]
}

Pour comparer la valeur de la série à la médiane au lieu de la moyenne, remplacez la ligne select: 'value < mean' par select: 'value < median'.

Utiliser des modèles pour enregistrer et partager des configurations

Vous pouvez enregistrer une configuration en tant que modèle afin de pouvoir la réutiliser dans d'autres visualisations ou la partager comme point de départ pour d'autres utilisateurs.

Enregistrer un modèle

Lorsque vous modifiez du JSON HighCharts dans l'éditeur de configurations de graphiques, vous pouvez enregistrer votre code en tant que modèle en procédant comme suit :

  1. Dans la boîte de dialogue "Chart Config Editor" (Éditeur de configurations de graphiques), cliquez sur Save as template (Enregistrer en tant que modèle).
  2. Attribuez un nom unique à votre modèle.
  3. Saisissez une description indiquant aux autres utilisateurs ce que fait votre modèle.
  4. Modifiez et prévisualisez votre code si nécessaire.
  5. Cliquez sur Save (Enregistrer) pour valider votre code.
  6. Corrigez les éventuelles erreurs de validation.
  7. Cliquez à nouveau sur Save (Enregistrer) pour enregistrer le modèle.

Tenez compte des points suivants lorsque vous créez un modèle :

  • Les utilisateurs intégrés ne peuvent pas créer, modifier ni appliquer de modèles.
  • Tous les utilisateurs non intégrés de votre instance qui ont accès à l'éditeur de configurations de graphiques pourront voir votre modèle.
  • Tous les modèles ne fonctionnent pas bien pour tous les types de visualisations. Envisagez de spécifier le type de visualisation avec lequel votre modèle doit être utilisé dans le champ Description.

Appliquer un modèle

Vous pouvez appliquer un modèle à votre visualisation actuelle. Tenez compte des points suivants lorsque vous appliquez un modèle :

  • L'application d'un modèle remplace tout code que vous avez écrit dans l'éditeur de configurations de graphiques.
  • Tous les modèles ne fonctionnent pas bien pour tous les types de visualisations. Par exemple, si l'auteur d'un modèle a écrit du code pour un graphique à barres, ce code peut avoir des effets différents sur un graphique en courbes.

Pour appliquer un modèle, procédez comme suit :

  1. Dans la boîte de dialogue "Chart Config Editor" (Éditeur de configurations de graphiques), cliquez sur Saved templates (Modèles enregistrés).
  2. Cliquez sur un modèle, puis sur Apply template (Appliquer le modèle).
  3. Cliquez sur Continue (Continuer).

Looker appliquera le modèle, et vous pourrez continuer à apporter des modifications dans l'éditeur de configurations de graphiques.

Supprimer un modèle

Pour supprimer un modèle, procédez comme suit :

  1. Dans la boîte de dialogue "Chart Config Editor" (Éditeur de configurations de graphiques), cliquez sur Saved templates (Modèles enregistrés).
  2. Cliquez sur le menu à trois points à côté du modèle que vous souhaitez supprimer.
  3. Cliquez sur Delete (Supprimer).

Une fois que vous avez terminé d'apporter des modifications, cliquez sur le bouton X dans la boîte de dialogue "Saved Templates" (Modèles enregistrés) pour revenir à la boîte de dialogue "Chart Config Editor" (Éditeur de configurations de graphiques).

Modifier un modèle

Pour modifier un modèle, procédez comme suit :

  1. Dans la boîte de dialogue "Chart Config Editor" (Éditeur de configurations de graphiques), cliquez sur Saved templates (Modèles enregistrés).
  2. Cliquez sur le menu à trois points à côté du modèle que vous souhaitez modifier.
  3. Cliquez sur Edit (Modifier).
  4. Une fois que vous avez terminé d'apporter des modifications, cliquez sur Save (Enregistrer).

Créer de nouveaux types de visualisations

Vous pouvez utiliser l'éditeur de configurations de graphiques pour créer des types de visualisations qui ne sont pas inclus dans les types de visualisations par défaut de Looker. Les articles suivants fournissent des exemples de certaines des visualisations que vous pouvez concevoir avec l'éditeur de configurations de graphiques :