Yii2:Flot 图表扩展 labelFormatter 用法

Yii2 : Flot charts extension labelFormatter usage

我正在尝试使用 Yii2 Flot 扩展或多或少取得成功。但是,我无法使用 labelFormatter 函数更改饼图的标签。

这是我正在使用的扩展程序:bburim/flot

这是我目前的代码,它生成了一个漂亮的图表,但我无法更改标签。 感谢任何帮助。

echo Chart::widget(
    [
        'data' => [
            ['label' => 'Series1', 'data' => [1, 12]],
            ['label' => 'Series2', 'data' => [1, 16]],
            ['label' => 'Series3', 'data' => [1, 89]],
            ['label' => 'Series4', 'data' => [1, 44]],
            ['label' => 'Series5', 'data' => [1, 38]],
        ],
        'options' => [
            'series' => [
                'pie' => [
                    'show' => true,
                    'label' => [
                        'show' => true,
                        'treshold' => 0.1,
                        'radius' => 0.6,
                        'value' => 'value',
                    ],
                ],
            ],
            'grid' => [
                'hoverable' => true,
            ],
            'legend' => [
                'position' => 'nw',
                'show' => true,
                'font' => [
                    'size' => 16,
                ],
                'margin' => 10,
                'backgroundOpacity' => 0.5,
            ],
        ],
        'plugins' => [
            Plugin::PIE,
        ],
        'htmlOptions' => [
            'class' => 'chartdiv',
        ],
    ]
);

自定义是一个非常宽泛的术语,我假设它意味着提供自定义标签文本,它非常简单直接,您只需要使用 new JsExpression() 回调函数即可正常工作

echo Chart::widget(
    [
        'data' => [
            ['label' => 'Series1', 'data' => [1, 12]],
            ['label' => 'Series2', 'data' => [1, 16]],
            ['label' => 'Series3', 'data' => [1, 89]],
            ['label' => 'Series4', 'data' => [1, 44]],
            ['label' => 'Series5', 'data' => [1, 38]],
        ],
        'options' => [
            'series' => [
                'pie' => [
                    'show' => true,
                    'label' => [
                        'show' => true,
                        'treshold' => 0.1,
                        'radius' => 0.6,
                        'value' => 'value',
                    ],
                ],
            ],
            'grid' => [
                'hoverable' => true,
            ],
            'legend' => [
                'labelFormatter' => new JsExpression("function(label, series) {
                    // series is the series object for the label
                    return '<a href=\"#' + label + '\">Custom Label for '+series.label+'</a>';
                }"),
                'position' => 'nw',
                'show' => true,
                'font' => [
                    'size' => 16,
                ],
                'margin' => 10,
                'backgroundOpacity' => 0.5,
            ],
        ],
        'plugins' => [
            Plugin::PIE,
        ],
        'htmlOptions' => [
            'class' => 'chartdiv',
        ],
    ]
);

附带说明一下,我不会使用该回购协议,因为自 2015 年以来所有者似乎没有反应,没有对问题进行单一回复,您可能需要自己维护或修复错误,所以最好 fork回购并使用您自己的自定义版本