Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement of Data Point Interaction Capabilities for Improved Analytical Depth #1537

Open
yihong1120 opened this issue Dec 28, 2023 · 1 comment

Comments

@yihong1120
Copy link

Dear FL Chart Contributors,

I hope this message finds you well. I am reaching out to propose an enhancement that could significantly augment the analytical utility of the FL Chart library. Having utilised your library extensively, I've found it to be remarkably versatile and user-friendly. However, there is an opportunity to deepen the user interaction with individual data points across various chart types.

Issue Description:
Currently, the interaction with data points on charts such as LineChart and ScatterChart is somewhat limited. Users can tap on a point to perhaps see a tooltip, but the potential for interaction stops there. For analysts and data enthusiasts, the ability to further interrogate a data point could be invaluable. This could include functionalities such as drilling down into more detailed data, linking a point to another chart or dataset, or even custom actions defined by the developer.

Proposed Solution:
I suggest we enhance the data point interaction model to include:

  • A callback mechanism when a data point is long-pressed, allowing developers to define custom actions.
  • The ability to link data points to secondary datasets or charts, enabling a drill-down capability.
  • An expanded tooltip system that can display more detailed information, including metadata associated with data points.

Benefits:

  • This enhancement would empower users to perform more detailed data analysis directly within the charts.
  • It would add an interactive dimension to data presentation, making it more engaging and informative.
  • Developers would have the flexibility to create a more interactive and integrated data visualisation experience.

I believe this feature could be a substantial addition to the FL Chart library, aligning with the ethos of providing a highly customisable and feature-rich charting experience. I am keen to hear your thoughts on this proposal and would be delighted to contribute to the discussion and development process.

Thank you for considering this enhancement. Your dedication to the FL Chart project is greatly appreciated by the community.

Best regards,
yihong1120

@imaNNeo
Copy link
Owner

imaNNeo commented Jan 10, 2024

Hi @yihong1120

  • A callback mechanism when a data point is long-pressed, allowing developers to define custom actions:
    For the interactions, we already support customizations, you can override the touchCallback() function of LineTouchData receive the touch interactions and do whatever you want.
    (Don't forget to disable handleBuiltInTouches property to disable the default behaviour)

  • It would add an interactive dimension to data presentation, making it more engaging and informative:
    I didn't understand this one clearly, but I think you're looking for a way to open another chart when user taps on something.
    So you can customize the interaction and do this at the moment.

  • An expanded tooltip system that can display more detailed information, including metadata associated with data points:
    For this one, you can customize the showing tooltip and put some texts. We don't support customized widgets here, I agree that we can improve this part to support widgets inside the tooltip (follow this issue: [LineChart] Proposal: TooltipItem with Widget child. #72)
    Check the below sample (source code is here) to see how you can customize the showing test.

    btw, I really appreciate your request

Let me what you think

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants