Как изменить значок легенды на графике p ie, я использую charts_flutter 0.9.0 - PullRequest
1 голос
/ 28 апреля 2020

Я пытаюсь изменить значок легенды с круга на прямоугольник для моей диаграммы p ie. Я использую следующие строки для этого, но сразу получаю ошибку.

defaultRenderer: new charts.ArcRendererConfig(
          symbolRenderer: new IconRenderer(Icons.cloud)
      ),

Я получаю сообщение об ошибке (скриншот прилагается) , пожалуйста, помогите мне изменить значок по умолчанию для легенды на графике p ie.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Спасибо @Midhun MP за подсказку, на самом деле нам нужно использовать CustomSymbolRenderer вместо SymbolRenderer. Приведенный ниже код решил мою проблему

class IconRenderer extends charts.CustomSymbolRenderer {
  final IconData iconData;

  IconRenderer(this.iconData);

  @override
  Widget build(BuildContext context, {Size size, Color color, bool enabled}) {
    // Lighten the color if the symbol is not enabled
    // Example: If user has tapped on a Series deselecting it.
    if (!enabled) {
      color = color.withOpacity(0.26);
    }
    return new SizedBox.fromSize(
        size: size, child: new Icon(iconData, color: color, size: 12.0));
  }
}
0 голосов
/ 28 апреля 2020

Вы получаете эту ошибку, потому что по умолчанию нет класса IconRenderer. Вам необходимо создать собственный SymbolRenderer, как показано ниже:

class IconRenderer extends charts.SymbolRenderer {
  final IconData iconData;

  IconRenderer(this.iconData);

  @override
  Widget build(BuildContext context,
      {Size size, Color color, bool isSelected}) {
    return new SizedBox.fromSize(
        size: size, child: new Icon(iconData, color: color, size: 12.0));
  }
}

Ссылка legend_custom_symbol

...