Skip to content
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

RainClouds do not support dodge in AoG #584

Open
haberdashPI opened this issue Jan 13, 2025 · 2 comments
Open

RainClouds do not support dodge in AoG #584

haberdashPI opened this issue Jan 13, 2025 · 2 comments

Comments

@haberdashPI
Copy link
Contributor

haberdashPI commented Jan 13, 2025

Bug description

This error shows up when using dodge in mapping for a visual(RainCloud):

julia> let fig
           fig = Figure()
           plt = data(plot_df) *
                 mapping(:band_name, :value; dodge=:site_name, color=:site_name, layout=:stage) *
                 visual(RainClouds)
           draw!(fig, plt)
           fig
       end
ERROR: ArgumentError: ProcessedLayer with plot type Plot{Makie.rainclouds} did not have :dodge in its AestheticMapping. The mapping was {1 = AlgebraOfGraphics.AesX, 2 = AlgebraOfGraphics.AesY, :color = AlgebraOfGraphics.AesColor}
Stacktrace:
  [1] hardcoded_or_mapped_aes(processedlayer::ProcessedLayer, key::Symbol, aes_mapping::Dictionaries.Dictionary{…})
    @ AlgebraOfGraphics ~/.julia/packages/AlgebraOfGraphics/BPWA1/src/algebra/layers.jl:243
  [2] (::AlgebraOfGraphics.var"#p!#134"{})(key::Symbol)
    @ AlgebraOfGraphics ~/.julia/packages/AlgebraOfGraphics/BPWA1/src/algebra/layers.jl:167
  [3] foreach(f::AlgebraOfGraphics.var"#p!#134"{}, d::Dictionaries.Indices{…})
    @ Dictionaries ~/.julia/packages/Dictionaries/Cl0jU/src/foreach.jl:36
  [4] compute_scale_properties(processedlayers::Vector{ProcessedLayer}, scales::AlgebraOfGraphics.Scales)

Note that dodge is a documented keyword of raindlcouds.

Steps to reproduce

I can take to the time to generate MWE in a day or two when I have more bandwidth, but I think this should be easy to reproduce and wanted to post this sooner to keep it in my inbox.

Images

If applicable, add images of the plots you obtained to help explain your problem.

Version info

(dqc_spectral-summary-full-n...) pkg> st
Status `~/projects/jazz-001/projects/001/documents/dqc_spectral-summary-full-night-sxb20_2025-01-08/Project.toml`
  [fbe9abb3] AWS v1.92.0
  [1c724243] AWSS3 v0.11.2
  [cbdf2221] AlgebraOfGraphics v0.8.13
  [d44faf7a] BeaconThemes v1.2.0
  [13f3f980] CairoMakie v0.12.18
  [a93c6f00] DataFrames v1.7.0
  [25836db2] DatastoreSchemas v1.30.0
  [48062228] FilePathsBase v0.9.22
  [fe2206b3] TidierData v0.16.3

NOTE: this excludes some proprietary package names that would leak sensitive information. When I have bandwidth to provide a MWE without sensitive packages I will update the info here.

julia> versioninfo()
Julia Version 1.11.2
Commit 5e9a32e7af2 (2024-12-01 20:02 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, skylake-avx512)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
Environment:
  JULIA_PKG_DEVDIR = {/home/ubuntu}/Documents/tools
  JULIA_PKG_USE_CLI_GIT = true
@jkrumbiegel
Copy link
Member

This should just need an entry for dodge here https://github.com/MakieOrg/AlgebraOfGraphics.jl/blob/master/src/aesthetics.jl#L199

Attributes of Makie plotting functions are not automatically available as aesthetics in AoG, only as visual attributes. They have to be added so AoG knows what to do with them.

@haberdashPI
Copy link
Contributor Author

Ah cool, thank you! I am happy to make a PR for that. Looks simple enough. (Probably won't get to it until Monday).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants