2014-10-19 16 views
5

Tôi đang sử dụng thư viện NVD3 cho dự án của mình và tôi đã viết mã sau đây.NVD3 TooltipContent Không hoạt động

var chart = nv.models.lineChart() 
      .useInteractiveGuideline(true) 
      .margin({top: 50, right: 50, bottom: 50, left: 50}) 
      .tooltipContent(function (key, y, e, graph) { 
       console.log("helo"); 
       return "hello"; 
      }); 

Đầu ra mong đợi sẽ hiển thị lời chào khi di chuột qua. Nhưng tôi không nhận được điều đó, thay vào đó tôi nhận được tooltip mặc định.

Vui lòng cho tôi biết lỗi tôi đang làm.

+0

thể trùng lặp của [piechart nvd3. js - Cách chỉnh sửa chú giải công cụ?] (http://stackoverflow.com/questions/12416508/nvd3-piechart-js-how-to-edit-the-t ooltip) – shabeer90

+3

Tôi đã nhận nó ngay bây giờ dòng .useInteractiveGuideline (đúng) là không chính xác. nó phải là .useInteractiveGuideline (false). Vì Chú giải công cụ tùy chỉnh không thể tồn tại với "useInteractiveGuideline" do người dùng2612936 đề xuất trên http://stackoverflow.com/questions/12416508/nvd3-piechart-js-how-to-edit-the-tooltip –

+2

Cảm ơn shabeer90 đã hướng đến đúng bài đăng . –

Trả lời

0

Bạn có thể tạo fiddle hoặc plunkr cho nó không? Dưới đây là việc thực hiện các mã dự án của chúng tôi, nó sẽ trả về một yếu tố html một hoạt động tốt:

.tooltipContent(function (key, x, y, e) { 
          if (e.value >= 0) { 
           return '<h3>' + key + '</h3>' + 
            '<p>' + y + ' at ' + x + '</p>'; 
          } else { 
           return ''; 
          } 
         }); 
11

Đó là bây giờ có thể có nội dung tùy chỉnh với các hướng dẫn tương tác như các phiên bản 1.8.1 (https://github.com/novus/nvd3/tree/v1.8.1-alpha).

chart.interactiveLayer.tooltip.contentGenerator(function(data) { 
    return 'this is my custom content'; 
}); 
+0

Yup .. điều này hoạt động tốt .. Cảm ơn –

+0

làm việc cho tôi. cảm ơn bạn. –

+0

Cảm ơn. Điều này cũng có tác dụng với angular-nvd3. 'InteractiveLayer: { chú giải công cụ: { contentGenerator: function (data) { console.log ('tooltip', data); } } } ' –

1

Bắt đầu với phiên bản nvd3 1.8+ sử dụng phương pháp chart.tooltip.contentGenerator() thay vì .tooltipContent()

Ví dụ:

chart.tooltip.contentGenerator(function(data) { 
     return '<p>' + data.point.x + '</p>' 
    } 

Thông tin thêm ở đây - https://github.com/novus/nvd3/issues/1359