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

Vous pouvez utiliser l'éditeur de configuration des 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. Vous pouvez ainsi personnaliser plus rapidement les visualisations Looker.

Prérequis

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

Personnaliser une visualisation

Pour personnaliser une visualisation avec l'éditeur de configuration des 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 code JSON d'origine de votre visualisation et ne peut pas être modifié.

    • Le volet Configuration du graphique (remplacement) contient le code JSON qui doit remplacer le code 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 code JSON par défaut. Vous pouvez commencer par ce fichier JSON ou le supprimer et saisir n'importe quel fichier JSON HighCharts valide.

  4. Sélectionnez la section Chart Config (Override) (Configuration du graphique (remplacement)), puis saisissez du code JSON HighCharts valide. Les nouvelles valeurs remplaceront celles de la section Configuration du graphique (source).

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

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

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

Une fois que vous avez personnalisé votre visualisation, vous pouvez l'enregistrer. Si vous avez consulté 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 un fichier JSON non valide, Looker affichera un message d'erreur Invalid JSON detected. Vous pouvez nettoyer le code JSON non valide à l'aide de l'option Corriger automatiquement le code en bas du volet Configuration du graphique (remplacement).

Si vous souhaitez modifier les options de visualisation par défaut, supprimez d'abord les modifications que vous avez apportées dans l'éditeur de configuration des 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 code 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 configuration des graphiques accepte la plupart des fichiers JSON HighCharts valides. Il accepte également l'attribut series formatters, qui n'existe que dans Looker. Chaque série peut comporter plusieurs formateurs 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 code JSON dans l'attribut style pour indiquer comment mettre en forme les valeurs de données.

Par exemple, le code JSON suivant colorera 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.

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 la 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 la dimension est "Vendu".
  • AND/OR Utilisez AND et OR pour combiner plusieurs expressions logiques.

Pour voir comment ces expressions sont implémentées dans l'éditeur de configuration des graphiques, consultez l'exemple Colorer les valeurs maximales, minimales et de centiles.

Attribut style

L'attribut style peut être utilisé pour appliquer les styles compatibles avec HighCharts. Par exemple, vous pouvez colorer 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 des bordures 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 configuration des graphiques, consultez l'exemple Colorer les valeurs maximales, minimales et de centiles.

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 Comparer les valeurs d'une série de couleurs à celles d'autres séries.

Exemples

Les sections suivantes fournissent des exemples de cas d'utilisation courants de l'éditeur de configuration des 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 celle du texte des axes

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

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

Le code JSON HighCharts suivant modifie la couleur d'arrière-plan de la visualisation en violet et la couleur du texte des titres et des libellés des axes en 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 code JSON HighCharts suivant modifie la couleur de l'arrière-plan de l'info-bulle en cyan et la couleur du texte de l'info-bulle en noir.

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

Personnaliser le contenu et les styles des info-bulles

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

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

Cet exemple utilise les fonctions et variables HighCharts suivantes :

  • {key} est une variable qui renvoie la valeur de l'axe X 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 Y du point sélectionné, arrondie à deux décimales.
    • {y} est une variable qui renvoie la valeur de l'axe Y 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 aux graphiques

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 Edit Chart Config (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 code JSON HighCharts suivant ajoute deux annotations au graphique pour expliquer une diminution des articles en stock après certaines périodes. Une légende est également ajoutée en bas du graphique pour expliquer plus en détail les annotations.

{
  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 des champs. 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'attribut xAxis.plotBands.

Le code 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 au 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 acceptés dans les attributs to et from 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

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

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

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

Colorer les valeurs maximale, minimale et de centile

Consultez la page Tirer le meilleur parti du cookbook sur les visualisations Looker : personnalisation de la mise en forme conditionnelle dans les graphiques cartésiens pour obtenir un exemple détaillé sur la façon de colorer les valeurs maximale, minimale et de centile d'une visualisation cartésienne.

Série de couleurs comparée aux valeurs des autres séries

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

Par exemple, prenons une visualisation qui affiche le prix de vente moyen et le prix de vente médian pour plusieurs villes. Le code JSON HighCharts suivant change la couleur du prix de vente moyen en vert lorsqu'il est supérieur ou égal au prix de vente médian, et en bordeaux 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 Prix de vente médian au format VIEW_NAME.FIELD_NAME. Pour copier directement la valeur de ce 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 de 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 code JSON HighCharts suivant remplace la couleur de chaque barre par du 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 des commandes :

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

Pour comparer la valeur de la série à la médiane plutôt qu'à 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 pour 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 le fichier JSON HighCharts dans l'éditeur de configuration des graphiques, vous pouvez enregistrer votre code en tant que modèle en procédant comme suit :

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

Lorsque vous créez un modèle, tenez compte des points suivants :

  • 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 configuration des graphiques pourront voir votre modèle.
  • Tous les modèles ne fonctionnent pas bien pour tous les types de visualisations. Pensez à indiquer 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. Lorsque vous appliquez un modèle, tenez compte des points suivants :

  • L'application d'un modèle écrase tout code que vous avez écrit dans l'éditeur de configuration des 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 "Éditeur de configuration des graphiques", cliquez sur Modèles enregistrés.
  2. Cliquez sur un modèle, puis sur Appliquer le modèle.
  3. Cliquez sur Continuer.

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

Pour supprimer un modèle

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

  1. Dans la boîte de dialogue "Éditeur de configuration des graphiques", cliquez sur Modèles enregistrés.
  2. Cliquez sur le menu à trois points à côté du modèle que vous souhaitez supprimer.
  3. Cliquez sur Supprimer.

Une fois les modifications apportées, cliquez sur le bouton X dans la boîte de dialogue "Modèles enregistrés" pour revenir à la boîte de dialogue "É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 "Éditeur de configuration des graphiques", cliquez sur Modèles enregistrés.
  2. Cliquez sur le menu à trois points à côté du modèle que vous souhaitez modifier.
  3. Cliquez sur Modifier.
  4. Une fois les modifications effectuées, cliquez sur Enregistrer.

Créer des types de visualisation

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