Все зависит от того, насколько эта штука должна быть адаптивной.
Если нет - то всё очень просто, граф рисуется картинкой (можно даже фоновой), иконки расставляются по этажам блоками равной ширины.
Если же оно должно тянуться... тогда вариантов намного больше и нельзя так вот заранее сказать, какой предпочтительный. Можно например вообще всё сделать в SVG. Или можно палки картинкой, а красные кружи флекс-блоками. А можно сделать несколько картинок и просто их менять медиа-запросами.
Зависит от ТЗ.