Line Chart
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
Позволяет создавать линейный график для метрик
namespace MoonShine\Resources; use MoonShine\Metrics\LineChartMetric; class PostResource extends Resource{ //... public function metrics(): array { return [ LineChartMetric::make('Orders') ->line([ 'Profit' => Order::query() ->selectRaw('SUM(price) as sum, DATE_FORMAT(created_at, "%d.%m.%Y") as date') ->groupBy('date') ->pluck('sum','date') ->toArray() ]) ->line([ 'Avg' => Order::query() ->selectRaw('AVG(price) as avg, DATE_FORMAT(created_at, "%d.%m.%Y") as date') ->groupBy('date') ->pluck('avg','date') ->toArray() ], '#EC4176'), ]; } //...}
или используя один метод line
namespace MoonShine\Resources; use MoonShine\Metrics\LineChartMetric; class PostResource extends Resource{ //... public function metrics(): array { return [ LineChartMetric::make('Orders') ->line([ 'Profit' => Order::query() ->selectRaw('SUM(price) as sum, DATE_FORMAT(created_at, "%d.%m.%Y") as date') ->groupBy('date') ->pluck('sum','date') ->toArray(), 'Avg' => Order::query() ->selectRaw('AVG(price) as avg, DATE_FORMAT(created_at, "%d.%m.%Y") as date') ->groupBy('date') ->pluck('avg','date') ->toArray() ],[ 'red', 'blue' ]) ]; } //...}
По умолчанию у графика LineChart ключи сортируются по возрастанию.
Эту особенность можно отключить используя метод withoutSortKeys()
.
LineChartMetric::make('Orders') ->line([ 'Profit' => Order::query() ->selectRaw('SUM(price) as sum, DATE_FORMAT(created_at, "%d.%m.%Y") as date') ->groupBy('date') ->pluck('sum','date') ->toArray() ]) ->withoutSortKeys(),