You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

bar_side.js 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. $(function () {
  2. var previousPoint;
  3. var d1 = [];
  4. for (var i = 0; i <= 5; i += 1)
  5. d1.push([i, parseInt(Math.random() * 30)]);
  6. var d2 = [];
  7. for (var i = 0; i <= 5; i += 1)
  8. d2.push([i, parseInt(Math.random() * 30)]);
  9. var d3 = [];
  10. for (var i = 0; i <= 5; i += 1)
  11. d3.push([i, parseInt(Math.random() * 30)]);
  12. var ds = new Array();
  13. ds.push({
  14. data:d1,
  15. bars: {
  16. show: true,
  17. barWidth: 0.2,
  18. order: 1,
  19. }
  20. });
  21. ds.push({
  22. data:d2,
  23. bars: {
  24. show: true,
  25. barWidth: 0.2,
  26. order: 2
  27. }
  28. });
  29. ds.push({
  30. data:d3,
  31. bars: {
  32. show: true,
  33. barWidth: 0.2,
  34. order: 3
  35. }
  36. });
  37. //tooltip function
  38. function showTooltip(x, y, contents, areAbsoluteXY) {
  39. var rootElt = 'body';
  40. $('<div id="tooltip2" class="tooltip">' + contents + '</div>').css( {
  41. position: 'absolute',
  42. display: 'none',
  43. top: y - 35,
  44. left: x - 5,
  45. 'z-index': '9999',
  46. 'color': '#fff',
  47. 'font-size': '11px',
  48. opacity: 0.8
  49. }).prependTo(rootElt).show();
  50. }
  51. //Display graph
  52. $.plot($("#placeholder1S"), ds, {
  53. grid:{
  54. hoverable:true
  55. },
  56. legend: true,
  57. });
  58. //add tooltip event
  59. $("#placeholder1S").bind("plothover", function (event, pos, item) {
  60. if (item) {
  61. if (previousPoint != item.datapoint) {
  62. previousPoint = item.datapoint;
  63. //delete de prГ©cГ©dente tooltip
  64. $('.tooltip').remove();
  65. var x = item.datapoint[0];
  66. //All the bars concerning a same x value must display a tooltip with this value and not the shifted value
  67. if(item.series.bars.order){
  68. for(var i=0; i < item.series.data.length; i++){
  69. if(item.series.data[i][3] == item.datapoint[0])
  70. x = item.series.data[i][0];
  71. }
  72. }
  73. var y = item.datapoint[1];
  74. showTooltip(item.pageX+5, item.pageY+5,x + " = " + y);
  75. }
  76. }
  77. else {
  78. $('.tooltip').remove();
  79. previousPoint = null;
  80. }
  81. });
  82. });