Как всегда рекомендую для этих целей использовать
D3.js, который отлично умеет строить такие штуки. Причем динамически! И обновлять хоть несколько раз в секунду, например:
bl.ocks.org/mbostock/4062045
Воспользовавшись HTML+CSS вы конечно сможете сверстать такое, но это будет жутко фиксированная конструкция, внести изменения в которую будет уже не реально. Тогда уж проще картинкой вставить.