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

[Proposal] New Chart Types #285

Open
erik-apple opened this issue Jun 25, 2019 · 13 comments
Open

[Proposal] New Chart Types #285

erik-apple opened this issue Jun 25, 2019 · 13 comments

Comments

@erik-apple
Copy link
Collaborator

erik-apple commented Jun 25, 2019

We're looking for feedback about new types of charts that might be useful additions to CareKit. If there is specific type of chart that you would like to see added, please comment your proposal here.

For reference, the existing implementations are

  1. Line chart
  2. Bar chart
  3. Scatter plot
@jwaddilove
Copy link

Erik,

As well as offering new chart types can you please consider supporting larger date ranges for charts. I ask as I found V1 often clipped the labels or data points when trying to plot a month's pain data.

For care of some chronic conditions long term tracking and reporting can help both patients and medical professionals. I'm thinking of plots for approx 1 year of data points for (eg) pain, self dosing rates for Asthmatics or diabetics. (Bonus for supporting a dynamic zoom, like pinch stretch in photos)

Many thanks, Jonathan

@erik-apple
Copy link
Collaborator Author

Jonathan, that sounds like a great feature to add to the existing graphs. One of the difficulties in plotting large amounts of data is that there are often be more data points than pixels on the screen, and performance really drops off when you start dealing with sub pixels. Adding support for large datasets would require the introduction of downsampling, but I think that is something definitely worth considering.

Could you perhaps share a screenshot of the clipping that you described?

@jwaddilove
Copy link

Erik, Here'e an example of a clipped chart. It is code based on your V1 sample app on iPhone iOS 12, as well as the clipping you will see that the dates are in random order!!

To me the value of a large number of data points is the trend (think well managed Asthmatics or Diabetics). I agree about the data points/Pixels, in an ideal world I would imagine downsampling and curve fitting to get the date range into the view but then some form of zoom to a full set of point as one drags a finger along the chart.

What I'm trying to enable is accurate patient/practitioner conversations. Show the long term trends and enable a drill down to specific times where there we issues.

An acceptable response is that I should code the feature, but my professional coding days have passed me by ;-)

Many thanks Jonathan
ClippedChart.pdf

@jwaddilove
Copy link

My mistake. My input was primarily about the Insights charting in the app.

The clipping occurs in the report generation (contacts tab), the chart gets clipped as it is placed in the PDF. I had uploaded the generated PDF, I'm attaching a screen shot of the pdf ....

CareReportClipped

@advatar
Copy link

advatar commented Jul 4, 2019

It would also be nice to allow display threshold regions, even more complex ones like for blood pressure

@erik-apple
Copy link
Collaborator Author

@advatar Thanks for the idea. Do you imagine that being static content, or would you want to plot the users data on top of that somehow?

@advatar
Copy link

advatar commented Jul 12, 2019 via email

@boscoybarra
Copy link

Jonathan, that sounds like a great feature to add to the existing graphs. One of the difficulties in plotting large amounts of data is that there are often be more data points than pixels on the screen, and performance really drops off when you start dealing with sub pixels. Adding support for large datasets would require the introduction of downsampling, but I think that is something definitely worth considering.

Could you perhaps share a screenshot of the clipping that you described?

@erik-apple

Totally agree with @jwaddilove . This is crucial for any physician or researcher: "Show the long term trends and enable a drill down to specific times where there we issues."

Please find more scenarios where this issue occurs:
Please do so, because #266 (comment)

Could exporting data to a CSV file be a solution?

@erik-apple
Copy link
Collaborator Author

Tracking #53 here. Another vote for Blood Pressure.

@erik-apple erik-apple mentioned this issue Jan 10, 2020
@marco-theraforge
Copy link

@advatar @erik-apple I think it can be useful to generalize the BP chart to allow a risk value/score to be added to the cells like in this example of Risk Chart regarding 10 year risk of fatal CVD:
https://www.escardio.org/static_file/Escardio/Subspecialty/EACPR/Documents/score-charts.pdf
The (normalized) risk value/score can also be used to automatically select a color out of a predefined palette in ascending or descending order via, say, a mapping function.

Plotting the current patient status on it (say with a dot or other shape) would show the current risk of the patient visually.

My two cents...

@jim-apple
Copy link

For the plots with systolic on y and diastolic on x axis (or similar), how do people feel about losing any sense of time, trends, etc.?

For a user, any concerns about numeracy of plotting in such a way? Assuming you want the user to at least be aware the reading is "good" or "bad" and potentially to act upon the value, would there be clearer way to represent the data.

@advatar
Copy link

advatar commented Jan 23, 2020 via email

@jgodon
Copy link

jgodon commented Jan 26, 2022

Hi !
It would be very useful to be able to have in the same OCKCartesianChartView a line graphView AND a bar diagram graphView 👍
Thanks for the work you've already done !
Jeremie

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

No branches or pull requests

7 participants