I am using google chart. > org chart
<script type="text/javascript">
google.charts.load('current', {packages:["orgchart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Manager');
data.addColumn('string', 'ToolTip');
// For each orgchart box, provide the name, manager, and tooltip to show.
data.addRows([
[{v:'Mike', f:'Mikes<div style="color:red; font-style:italic">President</div>'},
'', 'The President'],
[{v:'Jim', f:'Jim<div style="color:red; font-style:italic">Vice President</div>'},
'Mike', 'VP'],
['Alice', 'Mike', ''],
['Bob', 'Jim', 'Bob Sponge'],
['Carol', 'Bob', ''],
['wwe', 'Mike', ''],
['programming', 'Mike', ''],
['dev', 'Mike', ''],
['business', 'Mike', ''],
['rock', 'smackdown', ''],
['hhh', 'smackdown', ''],
['john', 'raw', ''],
['smackdown', 'wwe', ''],
['raw', 'wwe', ''],
['php', 'programming', ''],
['js', 'programming', ''],['ruby', 'programming', ''],
['python', 'programming', ''],['c', 'programming', ''],
['java', 'programming', ''],['c++', 'programming', ''],
['node', 'programming', ''],
['mark', 'dev', ''],['sergy', 'dev', ''],
['mcman', 'business', ''],
['bill', 'business', ''],['ruby', 'business', ''],
['gary', 'dev', ''],['steve', 'dev', ''],
['page', 'dev', ''],
['mark', 'business', ''],['sergy', 'business', ''],
['gary', 'business', ''],['steve', 'business', ''],
['page', 'business', ''],
['mcman', 'dev', '']
]);
// Create the chart.
var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
// Draw the chart, setting the allowHtml option to true for the tooltips.
chart.draw(data, {allowHtml:true});
}
</script>