我无法更改Laravel Charts和ChartJS中的图例位置

5ssjco0h  于 2023-03-29  发布在  Chart.js
关注(0)|答案(2)|浏览(126)

我正在使用Laravel Charts(https://charts.erik.cat/)和ChartJS,我遇到了一个问题。我无法更改图表中的标签位置。
我尝试了下面的方法,但我的标签仍然在顶部。我还尝试复制文档中的一个示例,并提供工具提示,但这也不起作用。backgroundColor函数出于某种原因起作用。

$typeChart->dataset('Aantal', 'pie', [$countCustomers, $countProspects, $countColdLeads, $countHotLeads])
            ->options([
                'backgroundColor' => 'green',
                'displayLegend' => true,
                'legend' => [
                    'position' => 'right',
                    'align' => 'right',
                    'display' => true
                ],
                'tooltip' => [
                    'show' => false
                ]
            ]);
    //        $typeChart->options([
    //            'tooltip' => [
    //                'show' => true // or false, depending on what you want.
    //            ],
    //        ]);
ldfqzlk8

ldfqzlk81#

我也遇到了同样的问题--我无法使用“选项”方法传递一些配置。
我通过向UserChart类添加自己的方法解决了这个问题

namespace App\Charts;

use ConsoleTVs\Charts\Classes\ChartJs\Chart;

class UserChart extends Chart
{
    /**
     * Initializes the chart.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }
    
    public function legendPosition(string $position)
    {
        return $this->options([
            'legend' => [
                'position' => $position,
            ],
        ]);
    }
}
jdzmm42g

jdzmm42g2#

它只能按以下顺序工作:$chart-〉options(...)-〉dataset()
dataset返回具有不同选项的数据集,并且是数据集级别的。-〉labels()返回BaseChart,其中选项值在图表级别上起作用。如果链是-〉dataset()-〉options(),则不起作用,因为数据集没有可配置的图例。

相关问题