-
Notifications
You must be signed in to change notification settings - Fork 4
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
DOC: write out a prose narrative of the proposed design #14
base: main
Are you sure you want to change the base?
Conversation
I also discovered that mathjax does not work with We should decide if want to:
|
Other relevant links:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mostly grammar/spelling
docs/source/design.rst
Outdated
|
||
By accessing all of the data that is needed in draw in a single function call | ||
the ``DataContainer`` instances can ensure that the data is coherent and | ||
consistent. This is important for applications like steaming where different |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consistent. This is important for applications like steaming where different | |
consistent. This is important for applications like streaming where different |
docs/source/design.rst
Outdated
the backend renderer understand. This can range from coordinate | ||
transformations (as with the ``Transfrom`` stack operations on *x* and *y* like | ||
values), representation conversions (like named colors to RGB values), mapping | ||
stings to a set of objects (like named markershape), to paraaterized type |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stings to a set of objects (like named markershape), to paraaterized type | |
stings to a set of objects (like named markershape), to parameterized type |
docs/source/design.rst
Outdated
This will open up paths to do a number of nice things such as multi-variate | ||
color maps, lines who's width and color vary along their length, constant but | ||
parameterized colors and linestyles, and a version of ``scatter`` where the | ||
marker shape depends on the data. All of these things are currently possible | ||
in Matplotlib, but require significant work before calling Matplotlib and can | ||
be very difficult to update after the fact. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about explicitly using the language of vectorizing color, shape, size, etc mapping since that's the language we've been using internally?
docs/source/design.rst
Outdated
route of hashing all of the data is not a sustainable path (in the case even | ||
modestly sized data the time to hash the data will quickly out-strip any | ||
possible time savings doing the cache lookup!). The proposed ``query`` method |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in this case?
docs/source/design.rst
Outdated
the transform and size passed in. | ||
|
||
The choice to return the data and cache key in one step, rather than be a two | ||
step process is drive by simplicity and because the cache key is computed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
step process is drive by simplicity and because the cache key is computed | |
step process is driven by simplicity and because the cache key is computed |
docs/source/design.rst
Outdated
The choice to return the data and cache key in one step, rather than be a two | ||
step process is drive by simplicity and because the cache key is computed | ||
inside of the ``query`` call. If computing the cache key is fast and the data | ||
to be returned in "reasonable" for the machine Matplotlib is running on (it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to be returned in "reasonable" for the machine Matplotlib is running on (it | |
to be returned is "reasonable" for the machine Matplotlib is running on (it |
This is super helpful for me. A lot of this design has to do with holding numpy arrays, and being able to subsample them on the fly, and carry some meta information around about the numpy arrays. I think that is great and will be a huge step forward for us. Where I'm still unclear is our interface with other data types and units. How do we tell downstream or adjacent libraries how we will decode their objects, both just to get the numpy array, and to do unit conversion? Specifying this seems pretty key to me, and maybe is beyond just our remit. Pandas, xarray, have things like Unit support is confusing as well. I think the confusion comes from whether elements of arrays should have units and that is where we detect the dtype, or whether the array itself should have the units. I feel we should put our foot down: I think arrays should have units, not array elements. I think that leaves lists of pint objects out in the cold, and I'm not even sure it works with the jpl_units interface, but I pretty strongly feel there is no reason to have arrays with mixed units, and that parsing unit information from either the array or its elements is far too confusing. However, that has the same issue in that we need a standard for how arrays hold their unit information, or how we can access it. Or we just natively support object arrays (categorical) and You have probably thought through some of the above, but I think it's hard because unlike much of the rest of this proposal, it involves the interface with other projects, and probably the conversation should start soon. |
6301985
to
25f02ba
Compare
25f02ba
to
771e682
Compare
Everything goes under the
I think this is primarily a problem with the auto-detection of units. Once we know how to handle a given input we should no care how the units are actually carried. That said, I have hopes that the numpy dytpe work will flatten much of the diversity in this space from our point of view. |
I guess thats what I'm asking: who makes the |
It is now too long.
No description provided.