Google图表自定义工具提示在折线图中仅适用于focustarget:category

时间:2015-12-11 20:24:26

标签: javascript php json mongodb google-visualization

我使用PHP / mongodb / javascript来构建我的Google Charts折线图。 在php中,我将一列作为角色工具提示(最后一列)。 现在我看到默认的工具提示,即X轴(日期)和Y轴(值)。 但我想在工具提示中显示日期,值和其他信息(图像版本)。 使用工具提示列,它应该覆盖默认的工具提示,但它不会发生。

如果我在选项中添加focusTarget:category,我可以看到Date,Value和Image版本,但对于整个类别,我不想要这个。我只想看到我点击或悬停的那一点的日期,价值和图像版本。

来自谷歌文档FocusTarget:“基准”似乎是我正在寻找的。当我这样做时,我再次只看到默认的工具提示。

当我使用focustarget:category时,基本上唯一一次默认工具提示被自定义工具提示覆盖。

不确定我错过了什么。

$table         = array();
$table['cols'] = array(
    array('label' => 'Date','type' => 'date')
); 

array_push($table['cols'], array('type' => 'string', 'role' => "tooltip"));
array_push($table['cols'], array('label' => 'Label', 'type' => 'string'));

$numCols = count($table['cols']) - 1;
$numColsMinus1 = count($table['cols']) - 2;

从数据库中,值进入数组

$rows[$row_index]['c'][$numColsMinus1]['v'] = $r["image_ver"];
$rows[$row_index]['c'][$col_index]['v'] = $r[$datatype];
$rows[$row_index]['c'][$numCols]['v'] = $label; 

以下是Google ChartWrapper

var chart = new google.visualization.ChartWrapper({
       'chartType': 'LineChart',
       'containerId': 'chart_div',
       'options': {
         'interpolateNulls': 'true',
         'curveType': 'false',
         'animation':{
           'duration': 1000,
           'easing': 'inAndOut'
         },
      'titleTextStyle':{ 'fontName': "Verdana", 'fontSize': 15, 'bold': 'false', 'italic': 'false' },
        'tooltip': {
            'textStyle': { 'fontName': "Arial", 'fontSize': 14, 'italic': 'false' },
             //'isHtml': 'true'     
             //'trigger' : 'selection',
             //'trigger' : 'both',
             //'trigger' : 'focus'
             //'legend' : 'none'
      },
        "focusTarget": "category",
        //"focusTarget": "datum",
        //"focusTarget": "",
        //"focusTarget": "series",
    'chartArea': {'height': '85%', 'width': '70%'},
         'hAxis': {'slantedText': false, 'maxAlternation': 1, 'viewWindowMode': 'pretty'},
         'allowHtml': 'true',
         'legend': {'allowHtml': 'true',
                    'textStyle': {fontSize: 11}},
         'pointSize': 3
       }
 });

1 个答案:

答案 0 :(得分:0)

大多数角色列都应用于最近的左邻居数据列,如here in the Google Charts documentation所示。如果您想为LineChart中的所有行添加自定义工具提示,则必须为每个行添加一个角色列。我不认为您需要使用focusTarget。