Проблема, с которой вы сталкиваетесь, может быть объяснена: в вашем function (d, i) { return (this.legendHeight * (i + 1))}
так получилось, что this
ссылается на другой контекст, чем вы могли ожидать. попробуйте изменить его на нотацию Arrow, например (d,i) => this.legendHeight * (i + 1)
, чтобы решить вашу проблему.
Если вы не можете использовать эту нотацию, вам нужно будет сделать локальную ссылку на ваше значение legendHeight