private function getChartOptions(): array
    {
        $groupByField = $this->getGroupByField();
        if (!$groupByField) {
            return [];
        }

        list($plugin, $controller) = pluginSplit($this->entity->get('model'));
        list($prefix, $fieldName) = pluginSplit($groupByField);

        $result = [];
        foreach ($this->charts as $chart) {
            $result[] = [
                'chart' => $chart['type'],
                'icon' => $chart['icon'],
                'id' => Inflector::delimit($chart['type']) . '_' . $this->getTableId(),
                'ajax' => [
                    'url' => Router::url([
                        'plugin' => $plugin,
                        'controller' => $controller,
                        'action' => 'search',
                        $this->entity->get('id')
                    ]),
                    'format' => 'pretty',
                ],
                'options' => [
                    'resize' => true,
                    'hideHover' => true,
                    'labels' => [Inflector::humanize(Search::GROUP_BY_FIELD), Inflector::humanize($fieldName)],
                    'xkey' => [$groupByField],
                    'ykeys' => [$prefix . '.' . Search::GROUP_BY_FIELD]
                ]
            ];
        }

        return $result;
    }