Trackball and Crosshair problem

Greetings,
I am implementing flutter charts to show live realtime data want to show trackball at the latest added data but the trackball is showing yAxis data as null on touch and not showing with any of the given method (i.e, trackball.showByIndex(list.length - 1); or trackball.show(newX, newY, 'point');) then i used crosshair for the same task and crosshair.show(newX, newY, 'point'); is not working at all for any given x and y point but for pixel it is working then i used trackball.showByIndex(myCandles.getSize() - 1); but this is also not working for the latest data and working for second latest data i.e, for trackball.showByIndex(myCandles.getSize() - 2);
.
I want to show exactly like the video I am attaching to this thread, I want to show like the horizontal line with a ball indicating at the latest data, please reply me as soon as possible with the fix because I have to launch my application but I can't launch until this issue is fixed.

Also I am using Candle chart with X axis a DateTimeAxis and Y axis as NumericAxis

Attachment: demo_7ce377a1.rar

10 Replies

DD Dharanidharan Dharmasivam Syncfusion Team April 6, 2020 06:35 AM UTC

Hi Harsh, 
 
Greetings from Syncfusion. We have analyzed your query, and we are aware of this scenario, the fix for this will be included in the next patch release which is going to be rolled out on April 7, 2020, and we appreciate your patience until then. 
 
Regards, 
Dharani. 



DE devloper replied to Dharanidharan Dharmasivam April 7, 2020 08:49 PM UTC

Hi Harsh, 
 
Greetings from Syncfusion. We have analyzed your query, and we are aware of this scenario, the fix for this will be included in the next patch release which is going to be rolled out on April 7, 2020, and we appreciate your patience until then. 
 
Regards, 
Dharani. 


As you told me, i waited for the update and updated to syncfusion_flutter_charts: ^18.1.43
even after updating to latest version, crosshair.show(xPoint, yPoint, 'point'); is not working and showing and crosshair is  bottom as shown in the video attached.
Also trackball problem is not solved and trackball is also not working at all with any method whether using trackball.show(xPoint, yPoint, 'point'); or trackball.showByIndex(list.length - 2); or crosshair.showByIndex(list.length - 1); even on tapping it shows yPoint as null as shown in the attached video.

I am initializing trackball and haircross in init as 
crosshair = CrosshairBehavior(
enable: true,
lineWidth: 1,
activationMode: ActivationMode.singleTap,
shouldAlwaysShow: true,
lineType: CrosshairLineType.horizontal);

trackball = TrackballBehavior(
enable: true,
lineWidth: 1,
lineType: TrackballLineType.horizontal,
activationMode: ActivationMode.singleTap,
tooltipAlignment: ChartAlignment.near,
tooltipDisplayMode: TrackballDisplayMode.nearestPoint,
tooltipSettings: InteractiveTooltip(enable: true, format: '\$point.y'),
shouldAlwaysShow: true);

please provide the solution as soon as possible
Thank You.

Attachment: Crosshair__Trackball_problem_9b7c699c.rar


DD Dharanidharan Dharmasivam Syncfusion Team April 8, 2020 12:39 PM UTC

Hi Harsh, 
 
We would like to let you know that the reported issue been fixed. And there are some sample level changes that need to be done, the public methods need to be called from onDataLabelRender event, so that the crosshair/trackball will be shown for the last point. When there is a large amount of data, we are facing an issue and this will be included in our upcoming weekly patch release on April 14, 2020. We will update you once the release is rolled out. You can find the code snippet below to achieve this. 
 
 
// Data label event 
onDataLabelRender: (DataLabelRenderArgs args) { 
         count >0   ? showCrossHair(count + 1) : null; 
      }, 
 
// Code snippet for series 
series: <LineSeries<OrdinalSalesint>>[ 
        LineSeries<OrdinalSalesint>( 
            // Here data label needs to be enabled in order to trigger data label event. 
            dataLabelSettings: DataLabelSettings( 
                isVisible: true, textStyle: ChartTextStyle(fontSize: 0))) 
      ] 
 
 
The sample for reference can be found below. 
 
Thanks, 
Dharani. 



DE devloper April 11, 2020 07:56 AM UTC

I used the method that you told me last time to use onDataLabelRanderer to show haircross, but this is showing haircross at open data of the candle and I want to show haircross at the close data of the candle because overtime only close method is changing and open is static, how can i do that?



DD Dharanidharan Dharmasivam Syncfusion Team April 13, 2020 09:58 AM UTC

Hi Harsh, 

We have analyzed for showing the crosshair for the close point in the candle series. As of now, with the public methods, the crosshair will be shown at the high value for the financial series. We have considered your requirement as an improvement and logged in our feedback portal for the same. This will be available in any of our upcoming releases and you can track the status below. 

Thanks, 
Dharani. 



DE devloper April 13, 2020 10:20 AM UTC

Okk, but i want to know why crosshair.show(xPoint, yPoint, 'point') not working and same for the trackball?


DD Dharanidharan Dharmasivam Syncfusion Team April 14, 2020 02:50 PM UTC

Hi Harsh, 
 
As stated earlier, the issues related to trackball/crosshair public methods will be included in our upcoming weekly patch release. We will update you once the release got rolled out and we appreciate your patience until then.  
 
Thanks, 
Dharani. 



DD Dharanidharan Dharmasivam Syncfusion Team April 29, 2020 04:41 PM UTC

Hi Harsh, 
 
Thanks for being patience. Our weekly patch release has been rolled out. Now trackball/crosshair public methods will work properly. Kindly upgrade to the current version of chart widget below, 

Thanks, 
Dharani. 



FW Felipe Werlang November 2, 2021 09:53 PM UTC

Please what's the trackball problem?


Attachment: chart_996c94b1.zip



YG Yuvaraj Gajaraj Syncfusion Team November 3, 2021 04:40 PM UTC

Hi Felipe werlang, 
  
We have analyzed your query, and we have tried to reproduce the issue from the sample you have attached. We would like to let you know that if you declared the list with a const keyword then are unable to modify or add the item further. So, you have to declare the list without const keyword. 
 
Code snippet:  
Column _columnChildWidgets = Column( 
     children: <Widget>[], 
    ); 
  
Thanks, 
Yuvaraj. 


Loader.
Up arrow icon