Week 11 of GSoC is done! 🎉😸💻 Phew, it’s been a while since the last update!

The following is a progress report since the last post.

Milestones – Makie.jl and AbstractPlotting.jl

  • continually updated Makie and AbstractPlotting packages, bringing updates and improvements to documentation and additional tutorials.
  • extension of the Documenter.Selectors.matcher and Documenter.Selectors.runner to match custom-defined keywords using regex, and perform actions based on the match captures
    • as an example you can now write @example_database("Contour3d") in the documentation.md source Markdown file, and during compile, the source code + the plot of the example will be automatically inserted
    • likewise, @example_database("Contour3d", code) inserts only the source code, and
    • @example_database("Contour3d", plot) inserts only the plot (oh, the magic of regex 😍)
  • implementation of a Stepper class that allows one to step! through example plots, and save a plot at each step
      mutable struct Stepper
            scene::Scene
            folder::String
            step::Int
      end
    
      function step!(s::Stepper)
          Makie.save(joinpath(s.folder, basename(s.folder) * "-$(s.step).jpg"), s.scene)
          s.step += 1
          return s
      end
    
  • these stepper examples are great for showing off progressive changes in plots, such as demonstrating the effects of theming or changing data:

stepper example for axis theming

  • the stepper examples are automatically generated when compiling the documentation, and inserted on the fly
    • as above, we can also write @example_database("Theming", stepperplot) in the documentation.md to insert stepper plots automatically
  • for some more stepper examples, consult the Makie documentation, which is available online!

Mergers (& Acquisitions)

  • two PRs to branch master on AbstractPlotting merged🎉! #2, #4.
  • three major PRs to branch master on Makie containing many documentation changes are merged🎉!! They are: #99, #111, and #114.
  • AND… the Gitlab CI pipeline for visual regression tests actually passed, for once!

The chances of this happening are like 1 in 1E200

The “failed” status with the documentation postprocessing step is due to a missing package on the CI, and should be fixed soon.

  • I also implemented some subscenes examples, e.g.:

surface + contour3d plot

Subscenes contour

surface + wireframe + contour plot

Subscenes surface + wireframe + contour

Check these examples out in the examples3d.jl library!

One more thing…

  • I started exploring some implicit plots, and plots involving inequalities, these generate some pretty interesting-looking plots:

some weird lattice cube thing

the biohazard

And lastly… a spacecraft from a galaxy far, far away

spacecraft from a galaxy far, far away

source for implicit equations: http://www.leweyg.com/download/impview.html

These examples are saved in the implicits.jl library, so feel free to check them out! 😀☝

TODOs

  • add more documentation pages, including proper documentation of the Stepper class
  • making a poster for JuliaCon 2018 in London, UK, which is in 11 days! I will be attending and presenting a poster as part of my GSoC project under the Julia organization, along with a few other GSoC students. Huge thanks to NumFOCUS for sponsoring us!!

So, that’s it! Hope you enjoyed reading this. Onwards to the last 10 days of coding 👨‍💻!




GSoC logo Image source: Google Summer of Code, CC BY-NC-ND 3.0