Angular bar chart tooltip feature malfunctioning

Hey there! I'm currently using an Angular bar chart and it's working smoothly. However, I'm facing an issue with displaying tooltips as the series is not functioning correctly. Below is my code snippet. My goal is to have a tooltip appear when the cursor hovers over each bar, showing the corresponding year and data.

HTML

  <html ng-app="app">

    <head>
        <title>Welcome</title>

        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular.min.js"></script>
        <script src="js/app.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
        <script src="https://cdn.jsdelivr.net/angular.chartjs/latest/angular-chart.min.js"></script>  


    </head>

    <body ng-controller="ChartController">

        <canvas id="bar" class="chart chart-bar" chart-data="data" chart-labels="labels" chart-series="series">
        </canvas>
    </body>

    </html>

Controller

angular.module("app", ["chart.js"]).controller("ChartController", function ($scope) {
  $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
  $scope.series = ['Year', 'Data'];

  $scope.data = [65, 59, 80, 81, 56, 55, 40];
});

Answer №1

The code seems to be error-free, but please double check that you have referenced the correct versions. It appears that there is a missing reference for angular-chart.js

UPDATE:

To customize the tooltip, you can use a simple workaround by adjusting the chartOptions

vm.chartOptions = {
        tooltips: {
          callbacks: {
            label: function(tooltipItem, data) {
              var legend = new Array();
              var item =  "Year:"+ tooltipItem.xLabel + "Data:"+tooltipItem.yLabel ;
              legend.push(item);
              return legend;
            }
          }
        }

DEMO

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Warning: The class name hydration discrepancy between server and client (Caution: Property `className` does not correspond between the Server and the Client)

Trying to figure out if my problem is a stubborn bug, a support issue, or just a configuration mismatch has been quite the journey. I've spent so much time on this, not exactly thrilled to be reaching out for help. After searching for 3 days and only ...

The module cannot be required as a function for calculating the area of a square

None of the functions I created seem to be working properly. Take a look at this example function: function calculateArea(side) { var area = side * side; return area; } When I attempt to use the module using require, like so: var formulas = require( ...

The AJAX onreadystatechange function may not be consistently triggered

I have an issue with my AJAX call to retrieve XML data. It seems that the code does not enter the onreadystatechange function until the last iterations of my foreach loop. This delay is likely due to the time it takes for the calls to "www.webpage.com/" ...

Despite returning an "OK" status, the jQuery Ajax Codebehind Post fails to function properly

Attempting to call a function in ASP.NET with jQuery Ajax: var params = "{'name':" + "\"" + name + "\"}"; $.ajax({ type: "POST", url: "CreateTopic.aspx/CreateNewTopic", data: params, ...

Extending the number of rows in an Angular mat-table beyond the size of the dataSource

Is there a way to display more rows of data in a mat-table than the length of the provided dataSource? For instance, consider the following sample data: people: [ { name: "John", birthday: "01.01.2000", hobbies: ...

Modify the name of the document

I have a piece of code that retrieves a file from the clipboard and I need to change its name if it is named image.png. Below is the code snippet where I attempt to achieve this: @HostListener('paste', ['$event']) onPaste(e: ClipboardE ...

Retrieving the selected value from a dropdown using jQuery's `$('#id').val()` may not always provide the desired result

I am having trouble retrieving the selected value from a dropdown menu as it keeps returning either an empty string or undefined results. My HTML code is structured like this: <div class="input-group" style="padding-bottom: 10px;"> <span id= ...

Is there a way to integrate PHP functionality into JavaScript?

When it comes to using JavaScript and PHP together, a common challenge is retrieving information from a database and utilizing that data in a JavaScript function. In my case, I need this functionality for implementing password change functionality on a w ...

Trigger an Ajax function using a button within a Bootstrap modal

I need to trigger an ajax function after selecting an option from a bootstrap confirmation modal. The modal will appear by calling the remove(parameter) function. Any assistance would be greatly appreciated function remove(parameter){ // $("#remove-mod ...

Tips for accessing and displaying JSON data using jQuery

Data in JSON format: [ { "ID":"25", "Serial":"1", "Purchase_id":"8", "Item":"23", "Unit":"1", "HSN":"84212120", "Quantity":"10", "Purchase_rate":"100", ...

Using JavaScript/jQuery to Set a Timer for Animation with Google Maps Markers

After clicking a marker on a Google map, I've managed to make it bounce with the following code. However, I'm looking for a way to stop the animation after 2 seconds. Is there some kind of timer function that I can incorporate? Here's the ...

Unable to launch the Express application on a 64-bit Windows 7 operating system

After successfully installing Node for Windows/64bit and being able to run the server with an example from the Node homepage, I encountered an issue when setting up an Express app. Despite installing Express using the command npm install -g express and r ...

What is the best way to extract value from a specific link using JavaScript?

I have a PHP script that retrieves data from a database: <?php while($trackResultRow = mysqli_fetch_assoc($trackResult)){?> <a onclick="remove()"><span class="glyphicon glyphicon-thumbs-down pull-right"></span></a> < ...

What is the best practice for adding one string to the end of another?

So, is this the best way to concatenate strings in JavaScript? var str = 'Hello'; str += ' World'; While most languages allow for this method of string concatenation, some consider it less efficient. Many programming languages offer a ...

I encountered difficulty displaying a list of documents in the view while working with derbyjs

Exploring derbyjs for the first time, unsure if I'm missing something or if there's a lack of documentation. My model is named "books" and I'm attempting to display a list of books. Here is my code snippet: module.exports = { propertie ...

What is causing the local storage to not persist after refreshing the page?

Even after a browser refresh, the button text 'completed' should remain intact depending on whether the variable item is true (after the button click). I have experimented with Chrome and believe the issue is not related to the browser. <temp ...

"An error has occurred: `nuxt.js - $(...).slider function not found`

I have integrated jQuery into my nuxt.js project by adding it to the nuxt.config.js file as shown below: build: { plugins: [ new webpack.ProvidePlugin({ '$': 'jquery', '_': 'lodash&apo ...

A guide to modifying the color of the Menu component in material-ui

Currently, I am utilizing the Menu component from material-ui and facing an issue while trying to modify the background color. The problem arises when I attempt to apply a color to the Menu, as it ends up altering the entire page's background once the ...

The new data is not being fetched before *ngFor is updating

In the process of developing a "Meeting List" feature that allows users to create new meetings and join existing ones. My technology stack includes: FrontEnd: Angular API: Firebase Cloud Functions DB: Firebase realtime DB To display the list of meeting ...

Macy.js, a masonry library, experiences compatibility issues with Internet Explorer 11. However, the problem can be resolved by activating "inspect mode"

Having an issue with macy.js on my website. The masonry element doesn't work on IE11 initially, but when I toggle the "inspect element" feature on and off, it starts working suddenly. Is there a way to trigger it automatically right after the website ...