2017-01-07 37 views
1

私は棒の上にmouveのカスタムツールチップを表示しようとしています、それは常にデフォルトのツールチップを表示します。 私はちょうどツールチップに単純なhtmlコードを表示しようとしていますので、後で修正することができます 何が欠けていますか?行ラベル
列1 - - バーのラベル(オプション)
列2のおかげカスタムツールチップが表示されないのはなぜですか?

google.charts.load('current', { 
 
    'packages': ['timeline'], 
 
    'language': 'fr' 
 
}); 
 
google.charts.setOnLoadCallback(drawChart); 
 

 

 
function drawChart() { 
 
    var container = document.getElementById('timeline'); 
 
    var chart = new google.visualization.Timeline(container); 
 
    var dataTable = new google.visualization.DataTable(); 
 

 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    id: 'Code' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    id: 'Color' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    role: 'tooltip', 
 
    'p': { 
 
     'html': true 
 
    } 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    id: 'Libelle' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'date', 
 
    id: 'Start' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'date', 
 
    id: 'End' 
 
    }); 
 

 

 

 
    var objects = []; 
 
    objects.push({ 
 
    code: "PRV1001", 
 
    color: "Color1", 
 
    zz: "<div><strong>2010</strong></div>", 
 
    id: "PRV1001", 
 
    dateStart: new Date(2016, 3, 1), 
 
    dateFinnish: new Date(2016, 3, 15) 
 
    }); 
 
    objects.push({ 
 
    code: "PRV1002", 
 
    color: "Color2", 
 
    zz: "<div><strong>2010</strong></div>", 
 
    id: "PRV1002", 
 
    dateStart: new Date(2016, 3, 4), 
 
    dateFinnish: new Date(2016, 3, 9) 
 
    }); 
 
    objects.push({ 
 
    code: "PRV1003", 
 
    color: "Color3", 
 
    zz: "<div><strong>2010</strong></div>", 
 
    id: "PRV1003", 
 
    dateStart: new Date(2016, 3, 3), 
 
    dateFinnish: new Date(2016, 3, 12) 
 
    }); 
 

 

 

 
    var rows = []; 
 
    for (var i = 0; i < objects.length; i++) { 
 
    rows.push([objects[i].code, objects[i].color, objects[i].zz, objects[i].id, objects[i].dateStart, objects[i].dateFinnish]); 
 
    } 
 

 
    console.log(rows); 
 
    dataTable.addRows(rows); 
 
    /****************Colors*************************/ 
 
    var colors = []; 
 
    var colorMap = { 
 
    // should contain a map of category -> color for every category 
 
    Color1: '#e63b6f', 
 
    Color2: '#19c362', 
 
    Color3: '#592df7' 
 
    } 
 

 
    for (var i = 0; i < dataTable.getNumberOfRows(); i++) { 
 
    colors.push(colorMap[dataTable.getValue(i, 1)]); 
 
    } 
 

 
    var options = { 
 
    colors: colors, 
 
    focusTarget: 'category', 
 
    tooltip: { 
 
     //trigger: 'none' 
 
     isHtml: true 
 
    } 
 
    }; 
 

 
    
 
    google.visualization.events.addListener(chart, 'select', function() { 
 
    selection = chart.getSelection(); 
 
    if (selection.length > 0) { 
 
     console.log(dataTable.getValue(selection[0].row, 0)); 
 
    } 
 
    }); 
 
    
 

 

 
    // use a DataView to hide the category column from the Timeline 
 
    var view = new google.visualization.DataView(dataTable); 
 
    view.setColumns([0, 2, 3, 4, 5]); 
 

 

 
    chart.draw(view, options); 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta name="description" content="Goolge Chart HTML Tooltips"> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
 

 
</head> 
 
<body> 
 
    <div id="timeline" style="height: 180px;"></div> 
 
</body> 
 
</html>

答えて

1

は、タイムラインチャートのdata format ...

列0を参照してください - ツールチップ(オプション)
カラム3 - 開始
カラム4 - E ND

問題がビューから茎...
view.setColumns([0, 2, 3, 4, 5]);

ので、グラフは2列目は、問題は3
でカラム2を交換することによって補正することができるバーのラベル

と考えていますview.setColumns([0, 3, 2, 4, 5]);

次の作業スニペットを参照してください。

google.charts.load('current', { 
 
    'packages': ['timeline'], 
 
    'language': 'fr' 
 
}); 
 
google.charts.setOnLoadCallback(drawChart); 
 

 

 
function drawChart() { 
 
    var container = document.getElementById('timeline'); 
 
    var chart = new google.visualization.Timeline(container); 
 
    var dataTable = new google.visualization.DataTable(); 
 

 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    id: 'Code' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    id: 'Color' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    role: 'tooltip', 
 
    'p': { 
 
     'html': true 
 
    } 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'string', 
 
    id: 'Libelle' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'date', 
 
    id: 'Start' 
 
    }); 
 
    dataTable.addColumn({ 
 
    type: 'date', 
 
    id: 'End' 
 
    }); 
 

 

 

 
    var objects = []; 
 
    objects.push({ 
 
    code: "PRV1001", 
 
    color: "Color1", 
 
    zz: "<div><strong>2010</strong></div>", 
 
    id: "PRV1001", 
 
    dateStart: new Date(2016, 3, 1), 
 
    dateFinnish: new Date(2016, 3, 15) 
 
    }); 
 
    objects.push({ 
 
    code: "PRV1002", 
 
    color: "Color2", 
 
    zz: "<div><strong>2010</strong></div>", 
 
    id: "PRV1002", 
 
    dateStart: new Date(2016, 3, 4), 
 
    dateFinnish: new Date(2016, 3, 9) 
 
    }); 
 
    objects.push({ 
 
    code: "PRV1003", 
 
    color: "Color3", 
 
    zz: "<div><strong>2010</strong></div>", 
 
    id: "PRV1003", 
 
    dateStart: new Date(2016, 3, 3), 
 
    dateFinnish: new Date(2016, 3, 12) 
 
    }); 
 

 

 

 
    var rows = []; 
 
    for (var i = 0; i < objects.length; i++) { 
 
    rows.push([objects[i].code, objects[i].color, objects[i].zz, objects[i].id, objects[i].dateStart, objects[i].dateFinnish]); 
 
    } 
 

 
    dataTable.addRows(rows); 
 
    /****************Colors*************************/ 
 
    var colors = []; 
 
    var colorMap = { 
 
    // should contain a map of category -> color for every category 
 
    Color1: '#e63b6f', 
 
    Color2: '#19c362', 
 
    Color3: '#592df7' 
 
    } 
 

 
    for (var i = 0; i < dataTable.getNumberOfRows(); i++) { 
 
    colors.push(colorMap[dataTable.getValue(i, 1)]); 
 
    } 
 

 
    var options = { 
 
    colors: colors, 
 
    focusTarget: 'category', 
 
    tooltip: { 
 
     isHtml: true 
 
    } 
 
    }; 
 

 

 
    google.visualization.events.addListener(chart, 'select', function() { 
 
    selection = chart.getSelection(); 
 
    if (selection.length > 0) { 
 
     console.log(dataTable.getValue(selection[0].row, 0)); 
 
    } 
 
    }); 
 

 

 

 
    // use a DataView to hide the category column from the Timeline 
 
    var view = new google.visualization.DataView(dataTable); 
 
    view.setColumns([0, 3, 2, 4, 5]); 
 

 

 
    chart.draw(view, options); 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta name="description" content="Goolge Chart HTML Tooltips"> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
 

 
</head> 
 
<body> 
 
    <div id="timeline" style="height: 180px;"></div> 
 
</body> 
 
</html>

+0

ありがとう:) – Gor

関連する問題