proggrock
proggrock

Reputation: 3289

google visualizations, add label to gantt chart

https://developers.google.com/chart/interactive/docs/gallery/ganttchart

Is it possible to add labels on the Gantt chart durations, like the below screenshot?

enter image description here

Upvotes: 2

Views: 1745

Answers (1)

so18user
so18user

Reputation: 21

As WhiteHat said, there is no built-in option. For my specific case (I always have the same structure in my Gantt graph) I did the following (to place some DIVs on top of the bars - with these DIVs you can do whatever you want):

// callback after draw (afterDraw() function is called after chart is drawn)
google.visualization.events.addListener(chart, 'ready', afterDraw);

function afterDraw(){

    // the container element to append our generated DIVs (with the labels)
    // it has to be outside the SVG element, but inside the chart container
    var toContainer = $('#chart_div > div > div');

    // in order to create DIVs to place them on top of the bars, we first need to get bars SVG/RECTs positions and sizes
    // in my case, the RECT elements with the necessary top/left/width/height are in the 6th G element
    $( "#chart_div g:eq(5) rect" ).each(function() {
         toContainer.append("<div style='top:"+$(this).attr('y')+"px; left: "+$(this).attr('x')+"px; width: "+$(this).attr('width')+"px; height: "+$(this).attr('height')+"px;text-align: center;position:absolute;line-height:2' >Some text</div>");
    });

}

Upvotes: 2

Related Questions