如何在flot chart中设置工具提示文本颜色?

时间:2017-07-25 12:36:23

标签: javascript html flot

我正在使用带有多系列数据的flot图表。我想更改Flot Chart中的工具提示文本颜色。 我正在使用此代码:

$("#placeholder").bind("plothover", function (event, pos, item) {
 if (item) {  
     $("#tooltip").remove();
     var hoverSeries = item.series;
     var x = item.datapoint[0],
         y = item.datapoint[1];
     var strTip = x + " / " + y + " for " + item.series.label;

     var allSeries = plot.getData();
     $.each(allSeries, function(i,s){
         if (s == hoverSeries) return;   
         $.each(s.data, function(j,p){
             if (p[0] == x){
                 strTip += "</br>" + p[0] + " / " + p[1] + " for " + s.label;
             }
         });             
     });
     showTooltip(item.pageX, item.pageY, strTip);
  }
}); 

任何一个用于提取工具提示的颜色?

2 个答案:

答案 0 :(得分:2)

请使用此字符串代替您的strTip。

strTip += "</br><span style=\"color:"+s.color+";\">" + p[0] + " / " + p[1] + " for " + s.label+"</span>";

使用此字符串,您将获得与数据系列颜色相同的Tooltip文本颜色。 在这里,我在单个flotchart中使用了4个数据系列。 [四系列工具提示] [1]

答案 1 :(得分:2)

Flot图表支持ToolTip中的HTML标记

您可以轻松使用html标记:<span>

Flot chart ToolTip轻松支持HTML标记。

使用<span>标记,您可以使用s.clor样式。 喜欢这个js。

$("#placeholder").bind("plothover", function (event, pos, item) {
 if (item) {  
     $("#tooltip").remove();
     var hoverSeries = item.series;
     var x = item.datapoint[0],
         y = item.datapoint[1];
     var strTip = "<span style=\"color:" + item.series.color + ";\""+x + " / " + y + " for " + item.series.label + "</span>";

     var allSeries = plot.getData();
     $.each(allSeries, function(i,s){
         if (s == hoverSeries) return;   
         $.each(s.data, function(j,p){
             if (p[0] == x){
                 strTip += "</br><span style=\"color:" + s.color + ";\"" + p[0] + " / " + p[1] + " for " + s.label + "</span>";
             }
         });             
     });
     showTooltip(item.pageX, item.pageY, strTip);
  }
}); 

很明显,我在item.series.color工具提示字符串中使用了s.colorstrTip