generateme / cljplot

JVM Clojure charting library
Eclipse Public License 2.0
152 stars 7 forks source link

Proper versioning & continue w/ scale refactoring #22

Open Bost opened 4 years ago

Bost commented 4 years ago
  1. The lein-v plugin gives you proper versioning "for free"
  2. I tried to fix up your scale refactoring us much as I could.
genmeblog commented 4 years ago

Hey BostX. Thanks for trying to help me with the library and my refactor. To make it more smooth I propose to use zulip chat (HERE) to discuss progress and areas where help is needed.

I want to give a broader view here:

  1. 0.0.2 is the version when I focused mostly on replicating most vega and lattice charts to learn what architecture should be best. After some time I hit dead end related to data preparation which is fed to more complicated charts (trellis grouped bar charts). Also scatterplot matrix with histograms on diagonal is not possible (or not easy).
  2. I wasn't able to fix the issues quickly and I gave a time myself to rethink the stuff from the scratch and prepare refactor. It took a year or so.
  3. Now I'm reviewing everything with a plan to completely rewrite data flow, design new configuration, create auto legends and auto gradients, and of course fix the main issue which is data manipulation
  4. For the data manipulation I move to tech.ml.dataset and will be the only input for creating a chart (that's how R does).

Saying that I don't think this is a good moment for PRs. Especially when I won't focus on having whole library working at every moment of refactor. My main goal is to plan, create, code and test complete data flow for two types (maybe three) of charts: bar (multiple), histogram and possibly scatterplot.

What I want to propose is: help me with tests and documentation for scale namespace (I assume it's done except ordinal scales, they will be affected in the future for sure). Also when I do first flow for first chart I will need help definitely for the rest.

Also I would be happy to hear what is your motivation and goals for this library. Maybe there are areas which are more crucial and I don't see them now?

genmeblog commented 4 years ago

Also it's not the time to introduce versioning. Anyway I'll take a look at plugin you've proposed.