10
votes

Tableau de dispersion Highchartts avec un nom par point

J'essaie de modifier un tracé de scatter HighcharTs Scatter avec cette série de date xxx

afin que je puisse mettre un nom sur chaque point, je veux montrer le nom dans l'info-bulle. API DOC dit Un objet de valeurs nommées peut être défini comme celui-ci xxx

mais il semble que les valeurs X et Y ne soient pas ramassées. Voir mon exemple jsfiddle exemple.


0 commentaires

6 Réponses :


3
votes

Comme indiqué dans le documentation , le champ Nom est le nom du point indiqué dans la légende, l'info-bulle, le datalabel, etc. I Mise à jour de votre violon pour inclure la bibliothèque Highcharts, et je vois ce comportement (c'est-à-dire si je survole sur Un point, son étiquette est affichée).

Si vous souhaitez que les étiquettes de l'axe des X soient correctement définies, vous devez vous assurer que la section xaxis de votre configuration de graphique n'a pas de Catégories .


2 commentaires

Votre violon ne fonctionne pas pour moi. Il montre simplement "la série 1" sur les deux points. Peut-être une mise à jour de la bibliothèque Highcharts a-t-elle cassé le comportement souhaité?


Peut-être que cela a déjà fonctionné, mais le violon ne fonctionne plus - il est de retour à l'utilisation du nom de la série, pas du nom de point, comme le nom du point.



3
votes

Vous pouvez également montrer des noms dans la section de la légende. Mise à jour de la réponse sélectionnée ci-dessus ici

series: [{
        name: 'Point 1',
        data: [[3, 3]]
    }, {
        name: 'Point 2',
        data: [[4, 8]]
    }, {
        name: 'Point 3',
        data: [[9, 15]]
    }]


2 commentaires

Cela semble être la seule réponse qui répond à la question initiale!


ouais celui-ci est directement à la solution à la question à la question



3
votes

Ceci est une nouvelle fonctionnalité de Highcharts 3.0. Vous devez définir le type XAxis à 'Catégorie' et donner le nom du point dans les données si vous souhaitez qu'il apparaisse sur le XAXIS:

 xAxis: {
   //categories: ['Green', 'Pink'],
    type: 'category'
},
...
 data: [{
        name: 'Green',
        x: 1,
        y: 2
    }, {
        name: 'Pink',
        x: 2,
        y: 5
    }]


0 commentaires

5
votes

Cette réponse fonctionne pour Highcharts 4.1.9.

m'a pris beaucoup de temps pour comprendre donc je veux le transmettre au cas où quelqu'un la recherche également. p>

Votre kilométrage peut varier pour d'autres versions. P>

       plotOptions: {
            scatter: {
                dataLabels: {
                    format: "{point.name}",
                    enabled: true
                },
                enableMouseTracking: false
            }
        },
        series: [{
            name: 'Projects',
            data: [{"name":"Point 1", "x":1,"y":2}, {"name":"Point 2", "x":4,"y":5}]
        }]


1 commentaires

{point.key} au lieu de {point.name} fonctionne ici: ToolTip: {HeaderFormat: ' {série.name} ({point.key})
', pointformat: '{ point.x}, {point.y} '}



4
votes

Comme mentionné dans Ce commentaire , quoi Fonctionne pour moi dans Highcharts 5.0.6 est:

{
  type: 'scatter',
  tooltip: { headerFormat: '<strong>{point.key}</strong><br>' },
  data: [{ x: 0, y: 1, name: 'Whatever' }, ...]
}


0 commentaires

2
votes

J'ai lutté avec cette question et après avoir trouvé la solution dans la documentation, je dois dire que le comportement tel que conçu est un peu inattendu.

par les documents (ici: https://api.haghharts.com/highcharts/plotoption.scatter.tooltip ), l'info-bulle ne montre pas tous les champs que vous pouvez ajouter à un point de données, mais plutôt

par défaut sur x: {point.x}
y: {point.y}
.

Pour afficher le nom du point de données (et tout autre champ que vous souhaitez afficher), modifiez simplement le fichier HTML rendu par l'info-bulle. Par exemple, vous pouvez afficher le nom du point et les coordonnées dans l'info-bulle lors de la suppression du nom de la série comme suit: xxx


1 commentaires

C'est maintenant la bonne réponse - cela semble être une sorte de changement dans l'API Highcharts depuis 2013.