9
votes

Comment changer d'info-bulle sur le graphique angulaire.js

Alors, j'utilise Plugin Angular-Table-JS sur un ionique application (pas sûr si cela est pertinent).

avec tableau linéaire, par défaut, en cliquant sur un point, je reçois une info-bulle comme indiqué: Entrez la description de l'image ici

Et je veux changer l'intérieur de cette info-bulle, je n'ai rien trouvé sur Google.

Toute aide est appréciée


0 commentaires

4 Réponses :


-1
votes

Voici un Plunker . Pour la démo Le message est ceci est une info-bulle

Remarque: Vous devrez créer un embout d'outil pour l'objet de tableau complet DATA utilisé par les graphiques à tracer.

J'espère que cela résout votre problème.


2 commentaires

Hé, merci d'avoir répondu. Malheureusement, je travaille avec une bibliothèque de cartes différente de celle que vous avez utilisée


La question concerne le graphique angulaire.js qui utilise le graphique.js, pas des graphiques angulaires et D3.



15
votes

Dans les options de graphique, vous pouvez spécifier pour un graphique, vous pouvez créer une fonction pour renvoyer un modèle pour l'info-bulle. xxx

et à votre vue: xxx

L'objet étiquette ressemble à xxx

Modifier: The Multitooltiptemplate est utilisé pour la barre, la ligne, etc., où vous avez plusieurs points de données pour chaque valeur de l'axe X. Pour la tarte ou la beignet, vous n'utiliseriez que Tooltiptemplate .


5 commentaires

Savez-vous s'il est de toute façon pour ajouter HTML à une info-bulle?


Pouvez-vous s'il vous plaît fournir un plumbler?


J'essayais de reproduire mais je n'ai pas réussi. Veuillez consulter un look @


Vous utilisiez une version plus ancienne de la carte angulaire et vous n'alliez pas non plus dans les options de graphique à votre graphique de travail. Vous ne pouvez pas avoir HTML dans le modèle aussi loin que possible, mais graph-2.js offre beaucoup d'options de style personnalisées que vous pouvez voir ici: github.com/nnnick/chart.js/blob/master/chart.js Démarrage autour de la ligne 124. Vous pouvez les utiliser comme < Code> grapht.default.global.tooltipfontSize = 14; Remplacement de la boîte à outils avec n'importe quelle option que vous modifiez. Voici une mise à jour plunkr: PLNKR.CO/EDIT/2YZF5QRVNWFNBWRPSJQ?p=preview


Cela fonctionne bien pour le graphique à barres, mais pas un graphique à secteurs. Aucune suggestion?



2
votes

Je sais que c'est une ancienne question, mais juste pour quelqu'un d'autre à la recherche de cela - il existe un moyen plus simple de personnaliser les info-bulles globalement.

dans votre module: p>

            // Boolean - Whether to animate the chart
        animation: true,

        // Number - Number of animation steps
        animationSteps: 60,

        // String - Animation easing effect
        animationEasing: "easeOutQuart",

        // Boolean - If we should show the scale at all
        showScale: true,

        // Boolean - If we want to override with a hard coded scale
        scaleOverride: false,

        // ** Required if scaleOverride is true **
        // Number - The number of steps in a hard coded scale
        scaleSteps: null,
        // Number - The value jump in the hard coded scale
        scaleStepWidth: null,
        // Number - The scale starting value
        scaleStartValue: null,

        // String - Colour of the scale line
        scaleLineColor: "rgba(0,0,0,.1)",

        // Number - Pixel width of the scale line
        scaleLineWidth: 1,

        // Boolean - Whether to show labels on the scale
        scaleShowLabels: true,

        // Interpolated JS string - can access value
        scaleLabel: "<%=value%>",

        // Boolean - Whether the scale should stick to integers, and not show any floats even if drawing space is there
        scaleIntegersOnly: true,

        // Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value
        scaleBeginAtZero: false,

        // String - Scale label font declaration for the scale label
        scaleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",

        // Number - Scale label font size in pixels
        scaleFontSize: 12,

        // String - Scale label font weight style
        scaleFontStyle: "normal",

        // String - Scale label font colour
        scaleFontColor: "#666",

        // Boolean - whether or not the chart should be responsive and resize when the browser does.
        responsive: false,

        // Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
        maintainAspectRatio: true,

        // Boolean - Determines whether to draw tooltips on the canvas or not - attaches events to touchmove & mousemove
        showTooltips: true,

        // Boolean - Determines whether to draw built-in tooltip or call custom tooltip function
        customTooltips: false,

        // Array - Array of string names to attach tooltip events
        tooltipEvents: ["mousemove", "touchstart", "touchmove", "mouseout"],

        // String - Tooltip background colour
        tooltipFillColor: "rgba(0,0,0,0.8)",

        // String - Tooltip label font declaration for the scale label
        tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",

        // Number - Tooltip label font size in pixels
        tooltipFontSize: 14,

        // String - Tooltip font weight style
        tooltipFontStyle: "normal",

        // String - Tooltip label font colour
        tooltipFontColor: "#fff",

        // String - Tooltip title font declaration for the scale label
        tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",

        // Number - Tooltip title font size in pixels
        tooltipTitleFontSize: 14,

        // String - Tooltip title font weight style
        tooltipTitleFontStyle: "bold",

        // String - Tooltip title font colour
        tooltipTitleFontColor: "#fff",

        // String - Tooltip title template
        tooltipTitleTemplate: "<%= label%>",

        // Number - pixel width of padding around tooltip text
        tooltipYPadding: 6,

        // Number - pixel width of padding around tooltip text
        tooltipXPadding: 6,

        // Number - Size of the caret on the tooltip
        tooltipCaretSize: 8,

        // Number - Pixel radius of the tooltip border
        tooltipCornerRadius: 6,

        // Number - Pixel offset from point x to tooltip edge
        tooltipXOffset: 10,

        // String - Template string for single tooltips
        tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>",

        // String - Template string for single tooltips
        multiTooltipTemplate: "<%= datasetLabel %>: <%= value %>",

        // String - Colour behind the legend colour block
        multiTooltipKeyBackground: '#fff',

        // Array - A list of colors to use as the defaults
        segmentColorDefault: ["#A6CEE3", "#1F78B4", "#B2DF8A", "#33A02C", "#FB9A99", "#E31A1C", "#FDBF6F", "#FF7F00", "#CAB2D6", "#6A3D9A", "#B4B482", "#B15928" ],

        // Array - A list of highlight colors to use as the defaults
        segmentHighlightColorDefaults: [ "#CEF6FF", "#47A0DC", "#DAFFB2", "#5BC854", "#FFC2C1", "#FF4244", "#FFE797", "#FFA728", "#F2DAFE", "#9265C2", "#DCDCAA", "#D98150" ],

        // Function - Will fire on animation progression.
        onAnimationProgress: function(){},

        // Function - Will fire on animation completion.
        onAnimationComplete: function(){}


0 commentaires

1
votes

Eh bien, je devais changer mes info-bulles pour les faire avoir le même contenu de leurs étiquettes respectives, mais avec un détail: faites-le même si les étiquettes sont cachées dans le tableau. Comme ceci:

 Entrez la description de l'image ici p>

Cette image ci-dessus montre un graphique Time x valeur forte> où l'intervalle de temps est de 20 minutes. C'est-à-dire que je voulais que les info-bulles aient leurs valeurs respectives de l'étiquette (par exemple: sur l'image, je mets la souris dans la valeur correspondant à l'heure 18:10, la moitié de l'intervalle). P>

Tout ce que je devais faire était: p>

1. Créez un tableau statique dans ma classe (façon paresseuse de le rendre plus accessible) strong> p> xxx pré>

2. Initialisé et le remplit avec les valeurs appropriées des étiquettes forte> p>

3. J'ai caché les étiquettes que je voulais cacher (pas de soucis ... Les données sont en sécurité grâce à l'étape 2) forte> p>

et ensuite, dans les options de graphique, j'ai fait quelque chose comme ceci: P >

tooltips: {
    enabled: true, 
    displayColors: false,
    xPadding: 15,
    yPadding: 15,

    callbacks: {
        title: function(tooltipItem, data) {
            return "";
        },

        label: function(tooltipItem, data) {
            return MyClassComponent.arrayTooltip[tooltipItem.index]
        }
    }

  },


0 commentaires