imaNNeo/fl_chart

Dynamic tooltipBgColor in LineChart [Partial idea, i need help with the final part]

Open

#1088 aperta il 7 lug 2022

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)Dart (1964 fork)batch import
Line Chartgood first issuequestion

Metriche repository

Star
 (7513 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Hello,

I am trying to implement a dynamic tooltipBgColor, i achieved something, but i need help with the final part.

As you can see in the following code, i am able to get the "y" coordinates of the pressed spot, since it's printed correctly. The problem is that even if i change the color of color_of_pressed_spot to the one i want, the color is not displayed since i would need to call setstate, but i cannot do it in that moment or i will get an error. Any idea on how to do it?

LineChartData mainData() {
    return LineChartData(
      lineTouchData: LineTouchData(
        touchTooltipData: LineTouchTooltipData(
          tooltipBgColor: color_of_pressed_spot,
          getTooltipItems: (List<LineBarSpot> spots) {
            return spots.map((spot) {
              print("Spot y: ${spot.y}");
              color_of_pressed_spot = changeColor(list_of_colors_i_want_to_use_for_each_spot_y, spot.y);

              return LineTooltipItem(
                getName(spot.y),
                const TextStyle(color: Colors.white),
              );
            }).toList();
          },
        ),
      ),);}

Guida contributor