Open
Description
Hi, I once created a demo for filled contour plots in the terminal. When I saw this package I thought I might contribute it. The original was in Rust, but I created a small demo in Julia to show what I had in mind: https://github.com/jhidding/UnicodeContour.jl
This code could also be adapted for the fill_between
feature that was requested earlier in #254.
If you like the idea, I could invest some more time to see if this works.
Activity
t-bltg commentedon Dec 12, 2022
Great, I wasn't aware of the extra Symbols for Legacy Computing block of
Unicode
.UnicodePlots
is definitively the right place for this kind of addition.Even if we use opaque characters instead of braille characters, this could be our implementation for the missing
contourf
(or maybecontourplot
with afilled
kwarg).Could also be useful for drawing polar heatmaps: I wonder if it's possible to render a perfect circle using these characters.
I like this ;)
t-bltg commentedon Dec 12, 2022
I guess that the first step is creating a new canvas type (
Name t.b.d. <: LookupCanvas
), similar to https://github.com/JuliaPlots/UnicodePlots.jl/blob/master/src/canvas/blockcanvas.jl#L7-L23, with an adjusted lookup table.jhidding commentedon Dec 12, 2022
Started fork at jhidding/UnicodePlots.jl.
t-bltg commentedon Dec 13, 2022
Great, I would for the moment (subject to evolution) hijack
contourplot
by replacing this line with something like:, so that you can work your mwe out (TIL himmelblau):
It's unlikely a miracle will happen but that's a start ...
You can also open a draft
PR
here so that it would be easier to review and add comments.t-bltg commentedon Dec 13, 2022
Also note that filling
FILLED_DECODE[(N_FILLED + 1):typemax(N_FILLED)] = UNICODE_TABLE[1:(typemax(N_FILLED) - N_FILLED)]
is un-needed since for this canvas, since we don't plan to add other characters than those from theSymbols for Legacy Computing
block (the whole canvas will be filled, and colored).This means that the
FilledCanvas.grid
seltype
can probably be restricted toUInt8
:grid::Transpose{UInt8,Matrix{UInt8}}
as what is currently done for the HeatmapCanvas.contourplot
#361