同じ棒グラフが重なって見えるのは、 ChartViewController の viewDidLoad() の中で barChartView と contentsView の両方を画面に追加しているためです。
(試しに barChartView と contentsView のどちらか一方の isHidden プロパティの値を true にしてみると、状況がわかると思います。)
また、 createBarChartView() メソッドは、 ChartViewController の barItems プロパティをもとに棒グラフを作成するため、メソッドの引数で情報を受け取る必要がなく、質問者のおっしゃるとおり let barChartView = createBarChartView() のように修正するのが正しいと思います。
2021/11/06 14:55