Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a very early draft, but as this has been a highly sought after feature, I'm making this draft PR public to allow for collaboration.
This implementation adds axis options
{x}-mode
that takes"lin"
(default) or"log"
, which is passed through context to_prepare
for scaling in plot-space (the infinite xy plane) to take place, which passes it forward toutil.compute-stroke-paths
andutil.compute-fill-paths
. Concurrently, ticks are then calculated fromcompute-logarithmic-ticks
which applies the inverse of that transformation on tick marks.Implementation quirks:
min
andmax
are not transformed in any way. This flaw can be fixed with a good deal of work, so it may not be worth the effort,To do:
compute-logarithmic-ticks
. Its a copy/paste of the linear one at the moment because I wanted to see it workingprepare
to a more suitable locationI'm sure there's more but its late. This is very much open for feedback even in its draft state because its definitively a feature to get right on the first attempt.
Pretty pictures: