Title: Alternative to Point Culling for large data sets (lets allow more forms of large data!) · Issue #281 · core-plot/core-plot · GitHub
Open Graph Title: Alternative to Point Culling for large data sets (lets allow more forms of large data!) · Issue #281 · core-plot/core-plot
X Title: Alternative to Point Culling for large data sets (lets allow more forms of large data!) · Issue #281 · core-plot/core-plot
Description: Key concepts: (1) as mike.lischke indicated why would we ever need to return more points than there are pixels? (2) our plot is only a window into the full data set (3) when zoomed fully out the window covers the full data set. (4) when ...
Open Graph Description: Key concepts: (1) as mike.lischke indicated why would we ever need to return more points than there are pixels? (2) our plot is only a window into the full data set (3) when zoomed fully out the wi...
X Description: Key concepts: (1) as mike.lischke indicated why would we ever need to return more points than there are pixels? (2) our plot is only a window into the full data set (3) when zoomed fully out the wi...
Opengraph URL: https://github.com/core-plot/core-plot/issues/281
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Alternative to Point Culling for large data sets (lets allow more forms of large data!)","articleBody":"**Key concepts**: \n(1) as **mike.lischke** indicated why would we ever need to return more points than there are pixels?\n(2) our plot is only a window into the full data set\n(3) when zoomed fully out the window covers the full data set.\n(4) when zoomed-in the window is defined by scale along with offset in x and y\n\n**My thinking is this**: If the data source is informed plot area size, scale and offset changes it can do whatever reduction is necessary all external to this wonderful library.\n\nAs was hedged at in the Point Culling issue: how this would be done is entirely unique to the type of data being shown. Techniques like Decimation, averaging, random sampling, are all useful but are unique to the types of data we are trying to display as these choices can obscure or just badly mangle the data if used in the wrong context.\n\nIf you are looking for a large sample problem for which you all have hardware so you can gather the data you need look no further than to Core Motion and our Accelerometer hardware. This produces samples of X,Y, and Z values in G at 20 millisecond intervals... this is 50 samples per second, 3,000 per minute or 180,000 samples per hour. Grab just ten minutes of this data and show it using this library and you have your test case. Now imagine how you would navigate hours or days of this data.\n\nYou might also notice pretty quickly that you are more interested in the X axis panning (moving along the timeline) and zooming (showing more detail in the timeline) than you are in seeing any zoom or pan changes made to the Y axis. Any time we are showing strip-chart like data the Y axis changes are nearly always of less interest.\n\nSo, i offer this as food for thought... altering the API for interaction with the underlying data set can solve all of the large data set issues by allowing the application to do context specific data reduction guided by the plotting effort and user interaction with the plots. Using this technique the data handed off to be plotted is never large data, it is only ever that which is needed.\n## -Stephen\n","author":{"url":"https://github.com/ironsheep","@type":"Person","name":"ironsheep"},"datePublished":"2016-05-10T19:21:13.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/281/core-plot/issues/281"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:609f00bc-6282-5e39-672e-d83363c9b8eb |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CD32:196750:454891:5CB36B:6969D356 |
| html-safe-nonce | 63ece8773aa7765067bf507493ad855c4ea6d32faa7f0d03f606a55f079914d2 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRDMyOjE5Njc1MDo0NTQ4OTE6NUNCMzZCOjY5NjlEMzU2IiwidmlzaXRvcl9pZCI6IjU4NDczMDA5MDk1NjQ1NDc5MjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 14412a7dd6c2a9de2c04c05e8bdbdc66d21c46160e62b53c32d8d33537987b03 |
| hovercard-subject-tag | issue:154085668 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/core-plot/core-plot/281/issue_layout |
| twitter:image | https://opengraph.githubassets.com/8351b33933d7e9042e3dd1f7172c397f632a15a84c9455b9858e1e9011728582/core-plot/core-plot/issues/281 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/8351b33933d7e9042e3dd1f7172c397f632a15a84c9455b9858e1e9011728582/core-plot/core-plot/issues/281 |
| og:image:alt | Key concepts: (1) as mike.lischke indicated why would we ever need to return more points than there are pixels? (2) our plot is only a window into the full data set (3) when zoomed fully out the wi... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ironsheep |
| hostname | github.com |
| expected-hostname | github.com |
| None | acedec8b5f975d9e3d494ddd8f949b0b8a0de59d393901e26f73df9dcba80056 |
| turbo-cache-control | no-preview |
| go-import | github.com/core-plot/core-plot git https://github.com/core-plot/core-plot.git |
| octolytics-dimension-user_id | 6242309 |
| octolytics-dimension-user_login | core-plot |
| octolytics-dimension-repository_id | 15383182 |
| octolytics-dimension-repository_nwo | core-plot/core-plot |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 15383182 |
| octolytics-dimension-repository_network_root_nwo | core-plot/core-plot |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 83c08c21cdda978090dc44364b71aa5bc6dcea79 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width